/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/egcd2-ll_valuebound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 13:02:11,741 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 13:02:11,743 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 13:02:11,801 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 13:02:11,801 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 13:02:11,801 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 13:02:11,802 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 13:02:11,803 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 13:02:11,804 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 13:02:11,805 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 13:02:11,805 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 13:02:11,806 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 13:02:11,806 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 13:02:11,806 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 13:02:11,807 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 13:02:11,808 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 13:02:11,808 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 13:02:11,809 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 13:02:11,810 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 13:02:11,811 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 13:02:11,812 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 13:02:11,812 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 13:02:11,813 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 13:02:11,814 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 13:02:11,814 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 13:02:11,816 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 13:02:11,816 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 13:02:11,817 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 13:02:11,817 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 13:02:11,817 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 13:02:11,818 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 13:02:11,818 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 13:02:11,819 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 13:02:11,819 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 13:02:11,820 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 13:02:11,820 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 13:02:11,820 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 13:02:11,821 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 13:02:11,821 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 13:02:11,821 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 13:02:11,822 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 13:02:11,824 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 13:02:11,825 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 13:02:11,844 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 13:02:11,845 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 13:02:11,845 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 13:02:11,845 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 13:02:11,846 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 13:02:11,846 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 13:02:11,846 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 13:02:11,846 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 13:02:11,846 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 13:02:11,847 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 13:02:11,847 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 13:02:11,847 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 13:02:11,847 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 13:02:11,847 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 13:02:11,847 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 13:02:11,847 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 13:02:11,848 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 13:02:11,848 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 13:02:11,848 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 13:02:11,848 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 13:02:11,848 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 13:02:11,849 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 13:02:11,849 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 13:02:11,849 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 13:02:11,849 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:02:11,849 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 13:02:11,849 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 13:02:11,849 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 13:02:11,850 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 13:02:11,850 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 13:02:11,850 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 13:02:11,850 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 13:02:11,850 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 13:02:11,850 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 13:02:12,033 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 13:02:12,053 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 13:02:12,055 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 13:02:12,056 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 13:02:12,056 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 13:02:12,057 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound100.c [2022-04-27 13:02:12,094 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a852dcf61/c208f7f7b51c4c8685ff4750e7e4e90a/FLAG291da0b4f [2022-04-27 13:02:12,439 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 13:02:12,439 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound100.c [2022-04-27 13:02:12,446 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a852dcf61/c208f7f7b51c4c8685ff4750e7e4e90a/FLAG291da0b4f [2022-04-27 13:02:12,455 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a852dcf61/c208f7f7b51c4c8685ff4750e7e4e90a [2022-04-27 13:02:12,457 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 13:02:12,458 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 13:02:12,459 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 13:02:12,459 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 13:02:12,460 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 13:02:12,461 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:02:12" (1/1) ... [2022-04-27 13:02:12,462 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7201b1b2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:12, skipping insertion in model container [2022-04-27 13:02:12,462 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:02:12" (1/1) ... [2022-04-27 13:02:12,466 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 13:02:12,474 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 13:02:12,594 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/egcd2-ll_valuebound100.c[490,503] [2022-04-27 13:02:12,619 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:02:12,624 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 13:02:12,634 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/egcd2-ll_valuebound100.c[490,503] [2022-04-27 13:02:12,641 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:02:12,649 INFO L208 MainTranslator]: Completed translation [2022-04-27 13:02:12,650 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:12 WrapperNode [2022-04-27 13:02:12,650 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 13:02:12,650 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 13:02:12,650 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 13:02:12,651 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 13:02:12,657 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:12" (1/1) ... [2022-04-27 13:02:12,657 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:12" (1/1) ... [2022-04-27 13:02:12,661 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:12" (1/1) ... [2022-04-27 13:02:12,661 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:12" (1/1) ... [2022-04-27 13:02:12,665 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:12" (1/1) ... [2022-04-27 13:02:12,667 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:12" (1/1) ... [2022-04-27 13:02:12,668 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:12" (1/1) ... [2022-04-27 13:02:12,669 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 13:02:12,669 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 13:02:12,670 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 13:02:12,670 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 13:02:12,674 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:12" (1/1) ... [2022-04-27 13:02:12,686 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:02:12,692 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:02:12,699 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 13:02:12,712 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 13:02:12,731 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 13:02:12,731 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 13:02:12,732 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 13:02:12,732 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 13:02:12,732 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 13:02:12,732 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 13:02:12,732 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 13:02:12,732 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 13:02:12,732 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 13:02:12,732 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 13:02:12,732 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 13:02:12,732 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 13:02:12,732 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 13:02:12,732 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 13:02:12,732 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 13:02:12,732 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 13:02:12,732 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 13:02:12,733 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 13:02:12,733 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 13:02:12,733 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 13:02:12,777 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 13:02:12,778 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 13:02:12,905 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 13:02:12,910 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 13:02:12,910 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-27 13:02:12,911 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:02:12 BoogieIcfgContainer [2022-04-27 13:02:12,911 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 13:02:12,912 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 13:02:12,912 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 13:02:12,914 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 13:02:12,915 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 01:02:12" (1/3) ... [2022-04-27 13:02:12,915 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5f531b73 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:02:12, skipping insertion in model container [2022-04-27 13:02:12,915 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:02:12" (2/3) ... [2022-04-27 13:02:12,915 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5f531b73 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:02:12, skipping insertion in model container [2022-04-27 13:02:12,915 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:02:12" (3/3) ... [2022-04-27 13:02:12,916 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll_valuebound100.c [2022-04-27 13:02:12,925 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 13:02:12,925 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 13:02:12,952 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 13:02:12,956 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@39613197, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@4997fcb2 [2022-04-27 13:02:12,957 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 13:02:12,962 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 13:02:12,969 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-27 13:02:12,969 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:02:12,970 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:02:12,970 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:02:12,973 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:02:12,973 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 1 times [2022-04-27 13:02:12,978 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:02:12,979 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1428494785] [2022-04-27 13:02:12,979 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:12,979 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:02:13,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:13,098 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:02:13,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:13,125 INFO L290 TraceCheckUtils]: 0: Hoare triple {72#(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(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-27 13:02:13,126 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-27 13:02:13,126 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-27 13:02:13,126 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:02:13,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:13,139 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:13,141 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:13,141 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:13,141 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-27 13:02:13,141 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:02:13,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:13,150 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:13,151 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:13,151 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:13,151 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-27 13:02:13,151 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:02:13,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:13,158 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:13,159 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:13,159 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:13,159 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-27 13:02:13,159 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-27 13:02:13,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:13,166 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:13,166 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:13,166 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:13,166 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-27 13:02:13,166 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-27 13:02:13,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:13,177 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:13,178 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:13,178 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:13,178 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-27 13:02:13,178 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-04-27 13:02:13,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:13,186 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:13,186 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:13,186 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:13,186 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-27 13:02:13,187 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:02:13,187 INFO L290 TraceCheckUtils]: 1: Hoare triple {72#(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(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-27 13:02:13,188 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-27 13:02:13,188 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-27 13:02:13,188 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-27 13:02:13,188 INFO L290 TraceCheckUtils]: 5: Hoare triple {43#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43#true} is VALID [2022-04-27 13:02:13,188 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {43#true} is VALID [2022-04-27 13:02:13,188 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:13,189 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:13,189 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:13,189 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-27 13:02:13,189 INFO L290 TraceCheckUtils]: 11: Hoare triple {44#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {44#false} is VALID [2022-04-27 13:02:13,189 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {43#true} is VALID [2022-04-27 13:02:13,190 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:13,190 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:13,190 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:13,190 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-27 13:02:13,190 INFO L272 TraceCheckUtils]: 17: Hoare triple {44#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-27 13:02:13,190 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:13,191 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:13,191 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:13,191 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-27 13:02:13,191 INFO L272 TraceCheckUtils]: 22: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-27 13:02:13,191 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:13,192 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:13,192 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:13,192 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-27 13:02:13,192 INFO L290 TraceCheckUtils]: 27: Hoare triple {44#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {44#false} is VALID [2022-04-27 13:02:13,192 INFO L272 TraceCheckUtils]: 28: Hoare triple {44#false} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {43#true} is VALID [2022-04-27 13:02:13,193 INFO L290 TraceCheckUtils]: 29: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:13,193 INFO L290 TraceCheckUtils]: 30: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:13,193 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:13,193 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-27 13:02:13,193 INFO L272 TraceCheckUtils]: 33: Hoare triple {44#false} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {43#true} is VALID [2022-04-27 13:02:13,194 INFO L290 TraceCheckUtils]: 34: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:02:13,194 INFO L290 TraceCheckUtils]: 35: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:02:13,194 INFO L290 TraceCheckUtils]: 36: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:02:13,194 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-27 13:02:13,194 INFO L290 TraceCheckUtils]: 38: Hoare triple {44#false} assume !true; {44#false} is VALID [2022-04-27 13:02:13,195 INFO L272 TraceCheckUtils]: 39: Hoare triple {44#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {44#false} is VALID [2022-04-27 13:02:13,195 INFO L290 TraceCheckUtils]: 40: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-27 13:02:13,195 INFO L290 TraceCheckUtils]: 41: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-27 13:02:13,195 INFO L290 TraceCheckUtils]: 42: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-27 13:02:13,195 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-27 13:02:13,196 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:02:13,196 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1428494785] [2022-04-27 13:02:13,197 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1428494785] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:02:13,197 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:02:13,197 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 13:02:13,198 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [295759986] [2022-04-27 13:02:13,198 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:02:13,204 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-27 13:02:13,205 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:02:13,207 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:02:13,241 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:02:13,241 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 13:02:13,241 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:02:13,258 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 13:02:13,258 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:02:13,260 INFO L87 Difference]: Start difference. First operand has 40 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:02:13,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:13,387 INFO L93 Difference]: Finished difference Result 73 states and 118 transitions. [2022-04-27 13:02:13,387 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 13:02:13,388 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-27 13:02:13,388 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:02:13,389 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:02:13,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-27 13:02:13,396 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:02:13,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-27 13:02:13,402 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 118 transitions. [2022-04-27 13:02:13,502 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:02:13,509 INFO L225 Difference]: With dead ends: 73 [2022-04-27 13:02:13,509 INFO L226 Difference]: Without dead ends: 35 [2022-04-27 13:02:13,511 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 21 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 13:02:13,513 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 14 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 42 SdHoareTripleChecker+Invalid, 27 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 14 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:02:13,514 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 42 Invalid, 27 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 14 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:02:13,525 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-27 13:02:13,535 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-27 13:02:13,535 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:02:13,536 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:13,537 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:13,538 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:13,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:13,542 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-27 13:02:13,542 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-27 13:02:13,543 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:13,543 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:13,544 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 35 states. [2022-04-27 13:02:13,544 INFO L87 Difference]: Start difference. First operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 35 states. [2022-04-27 13:02:13,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:13,547 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-27 13:02:13,547 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-27 13:02:13,548 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:13,548 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:13,548 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:02:13,548 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:02:13,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:13,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 46 transitions. [2022-04-27 13:02:13,552 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 46 transitions. Word has length 43 [2022-04-27 13:02:13,552 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:02:13,552 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 46 transitions. [2022-04-27 13:02:13,555 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:02:13,555 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-27 13:02:13,556 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-27 13:02:13,556 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:02:13,556 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:02:13,556 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 13:02:13,556 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:02:13,557 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:02:13,557 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 1 times [2022-04-27 13:02:13,557 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:02:13,557 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [66510059] [2022-04-27 13:02:13,557 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:13,557 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:02:13,579 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:02:13,579 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1870786313] [2022-04-27 13:02:13,579 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:13,580 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:02:13,580 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:02:13,592 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 13:02:13,593 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 13:02:13,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:13,653 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:02:13,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:13,681 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:02:13,873 INFO L272 TraceCheckUtils]: 0: Hoare triple {308#true} call ULTIMATE.init(); {308#true} is VALID [2022-04-27 13:02:13,873 INFO L290 TraceCheckUtils]: 1: Hoare triple {308#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(11, 2);call #Ultimate.allocInit(12, 3); {308#true} is VALID [2022-04-27 13:02:13,873 INFO L290 TraceCheckUtils]: 2: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:13,876 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {308#true} {308#true} #103#return; {308#true} is VALID [2022-04-27 13:02:13,876 INFO L272 TraceCheckUtils]: 4: Hoare triple {308#true} call #t~ret6 := main(); {308#true} is VALID [2022-04-27 13:02:13,876 INFO L290 TraceCheckUtils]: 5: Hoare triple {308#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {308#true} is VALID [2022-04-27 13:02:13,877 INFO L272 TraceCheckUtils]: 6: Hoare triple {308#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:13,877 INFO L290 TraceCheckUtils]: 7: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:13,877 INFO L290 TraceCheckUtils]: 8: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:13,878 INFO L290 TraceCheckUtils]: 9: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:13,878 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {308#true} {308#true} #79#return; {308#true} is VALID [2022-04-27 13:02:13,878 INFO L290 TraceCheckUtils]: 11: Hoare triple {308#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {308#true} is VALID [2022-04-27 13:02:13,878 INFO L272 TraceCheckUtils]: 12: Hoare triple {308#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:13,878 INFO L290 TraceCheckUtils]: 13: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:13,878 INFO L290 TraceCheckUtils]: 14: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:13,878 INFO L290 TraceCheckUtils]: 15: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:13,878 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {308#true} {308#true} #81#return; {308#true} is VALID [2022-04-27 13:02:13,880 INFO L272 TraceCheckUtils]: 17: Hoare triple {308#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:13,880 INFO L290 TraceCheckUtils]: 18: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:13,880 INFO L290 TraceCheckUtils]: 19: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:13,881 INFO L290 TraceCheckUtils]: 20: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:13,881 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {308#true} {308#true} #83#return; {308#true} is VALID [2022-04-27 13:02:13,881 INFO L272 TraceCheckUtils]: 22: Hoare triple {308#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:13,881 INFO L290 TraceCheckUtils]: 23: Hoare triple {308#true} ~cond := #in~cond; {382#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:02:13,882 INFO L290 TraceCheckUtils]: 24: Hoare triple {382#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {386#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:13,882 INFO L290 TraceCheckUtils]: 25: Hoare triple {386#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {386#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:13,883 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {386#(not (= |assume_abort_if_not_#in~cond| 0))} {308#true} #85#return; {393#(<= 1 main_~y~0)} is VALID [2022-04-27 13:02:13,883 INFO L290 TraceCheckUtils]: 27: Hoare triple {393#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:13,883 INFO L272 TraceCheckUtils]: 28: Hoare triple {397#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:13,884 INFO L290 TraceCheckUtils]: 29: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:13,886 INFO L290 TraceCheckUtils]: 30: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:13,886 INFO L290 TraceCheckUtils]: 31: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:13,887 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {308#true} {397#(<= 1 main_~b~0)} #87#return; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:13,887 INFO L272 TraceCheckUtils]: 33: Hoare triple {397#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:13,888 INFO L290 TraceCheckUtils]: 34: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:13,888 INFO L290 TraceCheckUtils]: 35: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:13,888 INFO L290 TraceCheckUtils]: 36: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:13,889 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {308#true} {397#(<= 1 main_~b~0)} #89#return; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:13,889 INFO L290 TraceCheckUtils]: 38: Hoare triple {397#(<= 1 main_~b~0)} assume !false; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:13,892 INFO L290 TraceCheckUtils]: 39: Hoare triple {397#(<= 1 main_~b~0)} assume !(0 != ~b~0); {309#false} is VALID [2022-04-27 13:02:13,892 INFO L272 TraceCheckUtils]: 40: Hoare triple {309#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {309#false} is VALID [2022-04-27 13:02:13,896 INFO L290 TraceCheckUtils]: 41: Hoare triple {309#false} ~cond := #in~cond; {309#false} is VALID [2022-04-27 13:02:13,896 INFO L290 TraceCheckUtils]: 42: Hoare triple {309#false} assume 0 == ~cond; {309#false} is VALID [2022-04-27 13:02:13,898 INFO L290 TraceCheckUtils]: 43: Hoare triple {309#false} assume !false; {309#false} is VALID [2022-04-27 13:02:13,898 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-27 13:02:13,898 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:02:14,187 INFO L290 TraceCheckUtils]: 43: Hoare triple {309#false} assume !false; {309#false} is VALID [2022-04-27 13:02:14,188 INFO L290 TraceCheckUtils]: 42: Hoare triple {309#false} assume 0 == ~cond; {309#false} is VALID [2022-04-27 13:02:14,191 INFO L290 TraceCheckUtils]: 41: Hoare triple {309#false} ~cond := #in~cond; {309#false} is VALID [2022-04-27 13:02:14,193 INFO L272 TraceCheckUtils]: 40: Hoare triple {309#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {309#false} is VALID [2022-04-27 13:02:14,193 INFO L290 TraceCheckUtils]: 39: Hoare triple {397#(<= 1 main_~b~0)} assume !(0 != ~b~0); {309#false} is VALID [2022-04-27 13:02:14,202 INFO L290 TraceCheckUtils]: 38: Hoare triple {397#(<= 1 main_~b~0)} assume !false; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:14,203 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {308#true} {397#(<= 1 main_~b~0)} #89#return; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:14,203 INFO L290 TraceCheckUtils]: 36: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:14,203 INFO L290 TraceCheckUtils]: 35: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:14,203 INFO L290 TraceCheckUtils]: 34: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:14,204 INFO L272 TraceCheckUtils]: 33: Hoare triple {397#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:14,204 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {308#true} {397#(<= 1 main_~b~0)} #87#return; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:14,204 INFO L290 TraceCheckUtils]: 31: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:14,204 INFO L290 TraceCheckUtils]: 30: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:14,204 INFO L290 TraceCheckUtils]: 29: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:14,204 INFO L272 TraceCheckUtils]: 28: Hoare triple {397#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:14,205 INFO L290 TraceCheckUtils]: 27: Hoare triple {393#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:14,206 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {386#(not (= |assume_abort_if_not_#in~cond| 0))} {308#true} #85#return; {393#(<= 1 main_~y~0)} is VALID [2022-04-27 13:02:14,206 INFO L290 TraceCheckUtils]: 25: Hoare triple {386#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {386#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:14,206 INFO L290 TraceCheckUtils]: 24: Hoare triple {506#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {386#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:14,207 INFO L290 TraceCheckUtils]: 23: Hoare triple {308#true} ~cond := #in~cond; {506#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:02:14,207 INFO L272 TraceCheckUtils]: 22: Hoare triple {308#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:14,207 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {308#true} {308#true} #83#return; {308#true} is VALID [2022-04-27 13:02:14,207 INFO L290 TraceCheckUtils]: 20: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:14,207 INFO L290 TraceCheckUtils]: 19: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:14,207 INFO L290 TraceCheckUtils]: 18: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:14,207 INFO L272 TraceCheckUtils]: 17: Hoare triple {308#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:14,207 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {308#true} {308#true} #81#return; {308#true} is VALID [2022-04-27 13:02:14,208 INFO L290 TraceCheckUtils]: 15: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:14,208 INFO L290 TraceCheckUtils]: 14: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:14,208 INFO L290 TraceCheckUtils]: 13: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:14,208 INFO L272 TraceCheckUtils]: 12: Hoare triple {308#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:14,208 INFO L290 TraceCheckUtils]: 11: Hoare triple {308#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {308#true} is VALID [2022-04-27 13:02:14,208 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {308#true} {308#true} #79#return; {308#true} is VALID [2022-04-27 13:02:14,208 INFO L290 TraceCheckUtils]: 9: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:14,208 INFO L290 TraceCheckUtils]: 8: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:02:14,208 INFO L290 TraceCheckUtils]: 7: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:02:14,209 INFO L272 TraceCheckUtils]: 6: Hoare triple {308#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {308#true} is VALID [2022-04-27 13:02:14,209 INFO L290 TraceCheckUtils]: 5: Hoare triple {308#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {308#true} is VALID [2022-04-27 13:02:14,209 INFO L272 TraceCheckUtils]: 4: Hoare triple {308#true} call #t~ret6 := main(); {308#true} is VALID [2022-04-27 13:02:14,209 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {308#true} {308#true} #103#return; {308#true} is VALID [2022-04-27 13:02:14,209 INFO L290 TraceCheckUtils]: 2: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:02:14,209 INFO L290 TraceCheckUtils]: 1: Hoare triple {308#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(11, 2);call #Ultimate.allocInit(12, 3); {308#true} is VALID [2022-04-27 13:02:14,209 INFO L272 TraceCheckUtils]: 0: Hoare triple {308#true} call ULTIMATE.init(); {308#true} is VALID [2022-04-27 13:02:14,209 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-27 13:02:14,210 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:02:14,210 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [66510059] [2022-04-27 13:02:14,210 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:02:14,210 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1870786313] [2022-04-27 13:02:14,210 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1870786313] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:02:14,210 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:02:14,210 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-27 13:02:14,211 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [636625595] [2022-04-27 13:02:14,211 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:02:14,212 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-27 13:02:14,212 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:02:14,212 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:02:14,233 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:02:14,234 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-27 13:02:14,234 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:02:14,234 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-27 13:02:14,234 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-27 13:02:14,234 INFO L87 Difference]: Start difference. First operand 35 states and 46 transitions. Second operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:02:14,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:14,497 INFO L93 Difference]: Finished difference Result 52 states and 69 transitions. [2022-04-27 13:02:14,497 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 13:02:14,497 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-27 13:02:14,497 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:02:14,498 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:02:14,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-27 13:02:14,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:02:14,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-27 13:02:14,502 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-27 13:02:14,548 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:02:14,550 INFO L225 Difference]: With dead ends: 52 [2022-04-27 13:02:14,550 INFO L226 Difference]: Without dead ends: 44 [2022-04-27 13:02:14,551 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 81 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:02:14,552 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 19 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 90 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 101 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 90 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:02:14,552 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 128 Invalid, 101 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 90 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:02:14,553 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-27 13:02:14,566 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-27 13:02:14,566 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:02:14,567 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:14,567 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:14,567 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:14,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:14,570 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-27 13:02:14,570 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-27 13:02:14,571 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:14,571 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:14,571 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 44 states. [2022-04-27 13:02:14,571 INFO L87 Difference]: Start difference. First operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 44 states. [2022-04-27 13:02:14,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:14,574 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-27 13:02:14,574 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-27 13:02:14,574 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:14,574 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:14,575 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:02:14,575 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:02:14,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:14,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 48 transitions. [2022-04-27 13:02:14,576 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 48 transitions. Word has length 44 [2022-04-27 13:02:14,577 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:02:14,577 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 48 transitions. [2022-04-27 13:02:14,577 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:02:14,577 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-04-27 13:02:14,578 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-27 13:02:14,578 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:02:14,578 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:02:14,602 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 13:02:14,795 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 13:02:14,796 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:02:14,796 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:02:14,796 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 1 times [2022-04-27 13:02:14,796 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:02:14,796 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1266556453] [2022-04-27 13:02:14,796 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:14,797 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:02:14,811 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:02:14,812 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1442542594] [2022-04-27 13:02:14,812 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:14,812 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:02:14,812 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:02:14,821 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 13:02:14,823 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 13:02:14,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:14,868 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 13:02:14,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:14,877 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:02:15,024 INFO L272 TraceCheckUtils]: 0: Hoare triple {809#true} call ULTIMATE.init(); {809#true} is VALID [2022-04-27 13:02:15,024 INFO L290 TraceCheckUtils]: 1: Hoare triple {809#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(11, 2);call #Ultimate.allocInit(12, 3); {809#true} is VALID [2022-04-27 13:02:15,024 INFO L290 TraceCheckUtils]: 2: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:15,025 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {809#true} {809#true} #103#return; {809#true} is VALID [2022-04-27 13:02:15,025 INFO L272 TraceCheckUtils]: 4: Hoare triple {809#true} call #t~ret6 := main(); {809#true} is VALID [2022-04-27 13:02:15,025 INFO L290 TraceCheckUtils]: 5: Hoare triple {809#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {809#true} is VALID [2022-04-27 13:02:15,025 INFO L272 TraceCheckUtils]: 6: Hoare triple {809#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:15,025 INFO L290 TraceCheckUtils]: 7: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:15,025 INFO L290 TraceCheckUtils]: 8: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:15,025 INFO L290 TraceCheckUtils]: 9: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:15,025 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {809#true} {809#true} #79#return; {809#true} is VALID [2022-04-27 13:02:15,025 INFO L290 TraceCheckUtils]: 11: Hoare triple {809#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {809#true} is VALID [2022-04-27 13:02:15,025 INFO L272 TraceCheckUtils]: 12: Hoare triple {809#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:15,025 INFO L290 TraceCheckUtils]: 13: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:15,025 INFO L290 TraceCheckUtils]: 14: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:15,026 INFO L290 TraceCheckUtils]: 15: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:15,026 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {809#true} {809#true} #81#return; {809#true} is VALID [2022-04-27 13:02:15,026 INFO L272 TraceCheckUtils]: 17: Hoare triple {809#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:15,026 INFO L290 TraceCheckUtils]: 18: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:15,026 INFO L290 TraceCheckUtils]: 19: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:15,026 INFO L290 TraceCheckUtils]: 20: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:15,026 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {809#true} {809#true} #83#return; {809#true} is VALID [2022-04-27 13:02:15,026 INFO L272 TraceCheckUtils]: 22: Hoare triple {809#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:15,026 INFO L290 TraceCheckUtils]: 23: Hoare triple {809#true} ~cond := #in~cond; {883#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:02:15,027 INFO L290 TraceCheckUtils]: 24: Hoare triple {883#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {887#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:15,027 INFO L290 TraceCheckUtils]: 25: Hoare triple {887#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {887#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:15,028 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {887#(not (= |assume_abort_if_not_#in~cond| 0))} {809#true} #85#return; {894#(<= 1 main_~y~0)} is VALID [2022-04-27 13:02:15,028 INFO L290 TraceCheckUtils]: 27: Hoare triple {894#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {898#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:15,028 INFO L272 TraceCheckUtils]: 28: Hoare triple {898#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:15,028 INFO L290 TraceCheckUtils]: 29: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:15,028 INFO L290 TraceCheckUtils]: 30: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:15,028 INFO L290 TraceCheckUtils]: 31: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:15,029 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {809#true} {898#(<= 1 main_~b~0)} #87#return; {898#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:15,029 INFO L272 TraceCheckUtils]: 33: Hoare triple {898#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:15,029 INFO L290 TraceCheckUtils]: 34: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:15,030 INFO L290 TraceCheckUtils]: 35: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:15,030 INFO L290 TraceCheckUtils]: 36: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:15,030 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {809#true} {898#(<= 1 main_~b~0)} #89#return; {898#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:15,030 INFO L290 TraceCheckUtils]: 38: Hoare triple {898#(<= 1 main_~b~0)} assume !false; {898#(<= 1 main_~b~0)} is VALID [2022-04-27 13:02:15,031 INFO L290 TraceCheckUtils]: 39: Hoare triple {898#(<= 1 main_~b~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {935#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-27 13:02:15,031 INFO L290 TraceCheckUtils]: 40: Hoare triple {935#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} assume !false; {935#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-27 13:02:15,032 INFO L272 TraceCheckUtils]: 41: Hoare triple {935#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {942#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:02:15,032 INFO L290 TraceCheckUtils]: 42: Hoare triple {942#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {946#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:02:15,032 INFO L290 TraceCheckUtils]: 43: Hoare triple {946#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {810#false} is VALID [2022-04-27 13:02:15,032 INFO L290 TraceCheckUtils]: 44: Hoare triple {810#false} assume !false; {810#false} is VALID [2022-04-27 13:02:15,033 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-27 13:02:15,033 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:02:15,196 INFO L290 TraceCheckUtils]: 44: Hoare triple {810#false} assume !false; {810#false} is VALID [2022-04-27 13:02:15,196 INFO L290 TraceCheckUtils]: 43: Hoare triple {946#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {810#false} is VALID [2022-04-27 13:02:15,197 INFO L290 TraceCheckUtils]: 42: Hoare triple {942#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {946#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:02:15,197 INFO L272 TraceCheckUtils]: 41: Hoare triple {962#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {942#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:02:15,198 INFO L290 TraceCheckUtils]: 40: Hoare triple {962#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {962#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-27 13:02:15,198 INFO L290 TraceCheckUtils]: 39: Hoare triple {809#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {962#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-27 13:02:15,198 INFO L290 TraceCheckUtils]: 38: Hoare triple {809#true} assume !false; {809#true} is VALID [2022-04-27 13:02:15,198 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {809#true} {809#true} #89#return; {809#true} is VALID [2022-04-27 13:02:15,198 INFO L290 TraceCheckUtils]: 36: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:15,198 INFO L290 TraceCheckUtils]: 35: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:15,198 INFO L290 TraceCheckUtils]: 34: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:15,199 INFO L272 TraceCheckUtils]: 33: Hoare triple {809#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:15,199 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {809#true} {809#true} #87#return; {809#true} is VALID [2022-04-27 13:02:15,199 INFO L290 TraceCheckUtils]: 31: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:15,199 INFO L290 TraceCheckUtils]: 30: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:15,199 INFO L290 TraceCheckUtils]: 29: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:15,199 INFO L272 TraceCheckUtils]: 28: Hoare triple {809#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:15,199 INFO L290 TraceCheckUtils]: 27: Hoare triple {809#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {809#true} is VALID [2022-04-27 13:02:15,199 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {809#true} {809#true} #85#return; {809#true} is VALID [2022-04-27 13:02:15,199 INFO L290 TraceCheckUtils]: 25: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:15,199 INFO L290 TraceCheckUtils]: 24: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:15,199 INFO L290 TraceCheckUtils]: 23: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:15,199 INFO L272 TraceCheckUtils]: 22: Hoare triple {809#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:15,200 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {809#true} {809#true} #83#return; {809#true} is VALID [2022-04-27 13:02:15,200 INFO L290 TraceCheckUtils]: 20: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:15,200 INFO L290 TraceCheckUtils]: 19: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:15,200 INFO L290 TraceCheckUtils]: 18: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:15,200 INFO L272 TraceCheckUtils]: 17: Hoare triple {809#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:15,200 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {809#true} {809#true} #81#return; {809#true} is VALID [2022-04-27 13:02:15,200 INFO L290 TraceCheckUtils]: 15: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:15,200 INFO L290 TraceCheckUtils]: 14: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:15,200 INFO L290 TraceCheckUtils]: 13: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:15,200 INFO L272 TraceCheckUtils]: 12: Hoare triple {809#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:15,200 INFO L290 TraceCheckUtils]: 11: Hoare triple {809#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {809#true} is VALID [2022-04-27 13:02:15,200 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {809#true} {809#true} #79#return; {809#true} is VALID [2022-04-27 13:02:15,201 INFO L290 TraceCheckUtils]: 9: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:15,201 INFO L290 TraceCheckUtils]: 8: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:02:15,201 INFO L290 TraceCheckUtils]: 7: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:02:15,201 INFO L272 TraceCheckUtils]: 6: Hoare triple {809#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {809#true} is VALID [2022-04-27 13:02:15,201 INFO L290 TraceCheckUtils]: 5: Hoare triple {809#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {809#true} is VALID [2022-04-27 13:02:15,201 INFO L272 TraceCheckUtils]: 4: Hoare triple {809#true} call #t~ret6 := main(); {809#true} is VALID [2022-04-27 13:02:15,201 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {809#true} {809#true} #103#return; {809#true} is VALID [2022-04-27 13:02:15,201 INFO L290 TraceCheckUtils]: 2: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:02:15,201 INFO L290 TraceCheckUtils]: 1: Hoare triple {809#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(11, 2);call #Ultimate.allocInit(12, 3); {809#true} is VALID [2022-04-27 13:02:15,201 INFO L272 TraceCheckUtils]: 0: Hoare triple {809#true} call ULTIMATE.init(); {809#true} is VALID [2022-04-27 13:02:15,201 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-27 13:02:15,202 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:02:15,202 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1266556453] [2022-04-27 13:02:15,202 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:02:15,202 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1442542594] [2022-04-27 13:02:15,202 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1442542594] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:02:15,202 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:02:15,202 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-27 13:02:15,202 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2003705388] [2022-04-27 13:02:15,202 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:02:15,203 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-04-27 13:02:15,203 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:02:15,203 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 13:02:15,223 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:02:15,224 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:02:15,224 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:02:15,224 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:02:15,224 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:02:15,224 INFO L87 Difference]: Start difference. First operand 37 states and 48 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 13:02:15,403 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:15,404 INFO L93 Difference]: Finished difference Result 43 states and 53 transitions. [2022-04-27 13:02:15,404 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:02:15,404 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-04-27 13:02:15,404 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:02:15,404 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 13:02:15,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-27 13:02:15,406 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 13:02:15,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-27 13:02:15,407 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-27 13:02:15,441 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:02:15,442 INFO L225 Difference]: With dead ends: 43 [2022-04-27 13:02:15,442 INFO L226 Difference]: Without dead ends: 41 [2022-04-27 13:02:15,442 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 80 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:02:15,443 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 6 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:02:15,443 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 137 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:02:15,444 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-27 13:02:15,457 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2022-04-27 13:02:15,457 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:02:15,458 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 41 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:15,482 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 41 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:15,482 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 41 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:15,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:15,484 INFO L93 Difference]: Finished difference Result 41 states and 51 transitions. [2022-04-27 13:02:15,484 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 51 transitions. [2022-04-27 13:02:15,484 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:15,484 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:15,485 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 41 states. [2022-04-27 13:02:15,485 INFO L87 Difference]: Start difference. First operand has 41 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 41 states. [2022-04-27 13:02:15,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:15,486 INFO L93 Difference]: Finished difference Result 41 states and 51 transitions. [2022-04-27 13:02:15,486 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 51 transitions. [2022-04-27 13:02:15,487 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:15,487 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:15,487 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:02:15,487 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:02:15,487 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:02:15,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 51 transitions. [2022-04-27 13:02:15,488 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 51 transitions. Word has length 45 [2022-04-27 13:02:15,488 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:02:15,488 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 51 transitions. [2022-04-27 13:02:15,489 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 13:02:15,489 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 51 transitions. [2022-04-27 13:02:15,489 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-27 13:02:15,489 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:02:15,489 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:02:15,507 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-27 13:02:15,703 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 13:02:15,703 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:02:15,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:02:15,704 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 1 times [2022-04-27 13:02:15,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:02:15,704 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1744586710] [2022-04-27 13:02:15,704 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:15,704 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:02:15,735 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:02:15,735 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [459442243] [2022-04-27 13:02:15,735 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:15,735 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:02:15,735 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:02:15,736 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 13:02:15,743 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 13:02:15,782 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:15,782 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-27 13:02:15,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:15,793 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:02:18,715 INFO L272 TraceCheckUtils]: 0: Hoare triple {1300#true} call ULTIMATE.init(); {1300#true} is VALID [2022-04-27 13:02:18,716 INFO L290 TraceCheckUtils]: 1: Hoare triple {1300#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(11, 2);call #Ultimate.allocInit(12, 3); {1300#true} is VALID [2022-04-27 13:02:18,716 INFO L290 TraceCheckUtils]: 2: Hoare triple {1300#true} assume true; {1300#true} is VALID [2022-04-27 13:02:18,716 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1300#true} {1300#true} #103#return; {1300#true} is VALID [2022-04-27 13:02:18,716 INFO L272 TraceCheckUtils]: 4: Hoare triple {1300#true} call #t~ret6 := main(); {1300#true} is VALID [2022-04-27 13:02:18,716 INFO L290 TraceCheckUtils]: 5: Hoare triple {1300#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1300#true} is VALID [2022-04-27 13:02:18,716 INFO L272 TraceCheckUtils]: 6: Hoare triple {1300#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1300#true} is VALID [2022-04-27 13:02:18,716 INFO L290 TraceCheckUtils]: 7: Hoare triple {1300#true} ~cond := #in~cond; {1300#true} is VALID [2022-04-27 13:02:18,716 INFO L290 TraceCheckUtils]: 8: Hoare triple {1300#true} assume !(0 == ~cond); {1300#true} is VALID [2022-04-27 13:02:18,716 INFO L290 TraceCheckUtils]: 9: Hoare triple {1300#true} assume true; {1300#true} is VALID [2022-04-27 13:02:18,716 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1300#true} {1300#true} #79#return; {1300#true} is VALID [2022-04-27 13:02:18,716 INFO L290 TraceCheckUtils]: 11: Hoare triple {1300#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1300#true} is VALID [2022-04-27 13:02:18,716 INFO L272 TraceCheckUtils]: 12: Hoare triple {1300#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1300#true} is VALID [2022-04-27 13:02:18,717 INFO L290 TraceCheckUtils]: 13: Hoare triple {1300#true} ~cond := #in~cond; {1300#true} is VALID [2022-04-27 13:02:18,717 INFO L290 TraceCheckUtils]: 14: Hoare triple {1300#true} assume !(0 == ~cond); {1300#true} is VALID [2022-04-27 13:02:18,717 INFO L290 TraceCheckUtils]: 15: Hoare triple {1300#true} assume true; {1300#true} is VALID [2022-04-27 13:02:18,717 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1300#true} {1300#true} #81#return; {1300#true} is VALID [2022-04-27 13:02:18,717 INFO L272 TraceCheckUtils]: 17: Hoare triple {1300#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1300#true} is VALID [2022-04-27 13:02:18,717 INFO L290 TraceCheckUtils]: 18: Hoare triple {1300#true} ~cond := #in~cond; {1359#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:02:18,718 INFO L290 TraceCheckUtils]: 19: Hoare triple {1359#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1363#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:18,718 INFO L290 TraceCheckUtils]: 20: Hoare triple {1363#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1363#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:18,718 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1363#(not (= |assume_abort_if_not_#in~cond| 0))} {1300#true} #83#return; {1370#(<= 1 main_~x~0)} is VALID [2022-04-27 13:02:18,718 INFO L272 TraceCheckUtils]: 22: Hoare triple {1370#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1300#true} is VALID [2022-04-27 13:02:18,718 INFO L290 TraceCheckUtils]: 23: Hoare triple {1300#true} ~cond := #in~cond; {1300#true} is VALID [2022-04-27 13:02:18,719 INFO L290 TraceCheckUtils]: 24: Hoare triple {1300#true} assume !(0 == ~cond); {1300#true} is VALID [2022-04-27 13:02:18,719 INFO L290 TraceCheckUtils]: 25: Hoare triple {1300#true} assume true; {1300#true} is VALID [2022-04-27 13:02:18,719 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1300#true} {1370#(<= 1 main_~x~0)} #85#return; {1370#(<= 1 main_~x~0)} is VALID [2022-04-27 13:02:18,719 INFO L290 TraceCheckUtils]: 27: Hoare triple {1370#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:02:18,720 INFO L272 TraceCheckUtils]: 28: Hoare triple {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1300#true} is VALID [2022-04-27 13:02:18,720 INFO L290 TraceCheckUtils]: 29: Hoare triple {1300#true} ~cond := #in~cond; {1300#true} is VALID [2022-04-27 13:02:18,720 INFO L290 TraceCheckUtils]: 30: Hoare triple {1300#true} assume !(0 == ~cond); {1300#true} is VALID [2022-04-27 13:02:18,720 INFO L290 TraceCheckUtils]: 31: Hoare triple {1300#true} assume true; {1300#true} is VALID [2022-04-27 13:02:18,720 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1300#true} {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:02:18,720 INFO L272 TraceCheckUtils]: 33: Hoare triple {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1300#true} is VALID [2022-04-27 13:02:18,720 INFO L290 TraceCheckUtils]: 34: Hoare triple {1300#true} ~cond := #in~cond; {1300#true} is VALID [2022-04-27 13:02:18,721 INFO L290 TraceCheckUtils]: 35: Hoare triple {1300#true} assume !(0 == ~cond); {1300#true} is VALID [2022-04-27 13:02:18,721 INFO L290 TraceCheckUtils]: 36: Hoare triple {1300#true} assume true; {1300#true} is VALID [2022-04-27 13:02:18,721 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1300#true} {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:02:18,721 INFO L290 TraceCheckUtils]: 38: Hoare triple {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:02:18,722 INFO L290 TraceCheckUtils]: 39: Hoare triple {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:02:18,722 INFO L290 TraceCheckUtils]: 40: Hoare triple {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:02:18,722 INFO L272 TraceCheckUtils]: 41: Hoare triple {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1300#true} is VALID [2022-04-27 13:02:18,723 INFO L290 TraceCheckUtils]: 42: Hoare triple {1300#true} ~cond := #in~cond; {1435#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:02:18,723 INFO L290 TraceCheckUtils]: 43: Hoare triple {1435#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:02:18,723 INFO L290 TraceCheckUtils]: 44: Hoare triple {1439#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:02:18,724 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1439#(not (= |__VERIFIER_assert_#in~cond| 0))} {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:02:18,725 INFO L272 TraceCheckUtils]: 46: Hoare triple {1389#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1449#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:02:18,725 INFO L290 TraceCheckUtils]: 47: Hoare triple {1449#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1453#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:02:18,725 INFO L290 TraceCheckUtils]: 48: Hoare triple {1453#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1301#false} is VALID [2022-04-27 13:02:18,725 INFO L290 TraceCheckUtils]: 49: Hoare triple {1301#false} assume !false; {1301#false} is VALID [2022-04-27 13:02:18,725 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 7 proven. 10 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-27 13:02:18,726 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:02:55,281 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:02:55,281 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1744586710] [2022-04-27 13:02:55,281 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:02:55,281 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [459442243] [2022-04-27 13:02:55,281 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [459442243] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:02:55,281 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:02:55,281 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-27 13:02:55,281 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1582368618] [2022-04-27 13:02:55,282 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:02:55,282 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 50 [2022-04-27 13:02:55,282 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:02:55,282 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:02:55,310 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:02:55,310 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 13:02:55,310 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:02:55,310 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 13:02:55,311 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:02:55,311 INFO L87 Difference]: Start difference. First operand 41 states and 51 transitions. Second operand has 10 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:02:55,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:55,804 INFO L93 Difference]: Finished difference Result 54 states and 68 transitions. [2022-04-27 13:02:55,804 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:02:55,804 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 50 [2022-04-27 13:02:55,804 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:02:55,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:02:55,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2022-04-27 13:02:55,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:02:55,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2022-04-27 13:02:55,807 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 65 transitions. [2022-04-27 13:02:55,858 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 13:02:55,859 INFO L225 Difference]: With dead ends: 54 [2022-04-27 13:02:55,859 INFO L226 Difference]: Without dead ends: 52 [2022-04-27 13:02:55,860 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 44 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:02:55,860 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 25 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 214 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 219 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 214 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:02:55,860 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 163 Invalid, 219 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 214 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:02:55,861 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-27 13:02:55,892 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 51. [2022-04-27 13:02:55,892 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:02:55,893 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 51 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:55,893 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 51 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:55,893 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 51 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:55,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:55,895 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-27 13:02:55,895 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-27 13:02:55,895 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:55,895 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:55,896 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 52 states. [2022-04-27 13:02:55,896 INFO L87 Difference]: Start difference. First operand has 51 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 52 states. [2022-04-27 13:02:55,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:55,898 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-27 13:02:55,898 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-27 13:02:55,898 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:55,898 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:55,898 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:02:55,898 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:02:55,898 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:55,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 65 transitions. [2022-04-27 13:02:55,900 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 65 transitions. Word has length 50 [2022-04-27 13:02:55,900 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:02:55,900 INFO L495 AbstractCegarLoop]: Abstraction has 51 states and 65 transitions. [2022-04-27 13:02:55,901 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.0) internal successors, (20), 8 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:02:55,901 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-27 13:02:55,902 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-27 13:02:55,902 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:02:55,902 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:02:55,925 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 13:02:56,115 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 13:02:56,115 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:02:56,116 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:02:56,116 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 1 times [2022-04-27 13:02:56,116 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:02:56,116 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [763421840] [2022-04-27 13:02:56,116 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:56,116 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:02:56,154 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:02:56,154 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1210453020] [2022-04-27 13:02:56,154 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:56,154 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:02:56,155 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:02:56,160 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 13:02:56,163 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 13:02:56,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:56,207 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-27 13:02:56,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:56,221 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:02:56,540 INFO L272 TraceCheckUtils]: 0: Hoare triple {1746#true} call ULTIMATE.init(); {1746#true} is VALID [2022-04-27 13:02:56,541 INFO L290 TraceCheckUtils]: 1: Hoare triple {1746#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(11, 2);call #Ultimate.allocInit(12, 3); {1746#true} is VALID [2022-04-27 13:02:56,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,541 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1746#true} {1746#true} #103#return; {1746#true} is VALID [2022-04-27 13:02:56,541 INFO L272 TraceCheckUtils]: 4: Hoare triple {1746#true} call #t~ret6 := main(); {1746#true} is VALID [2022-04-27 13:02:56,541 INFO L290 TraceCheckUtils]: 5: Hoare triple {1746#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1746#true} is VALID [2022-04-27 13:02:56,541 INFO L272 TraceCheckUtils]: 6: Hoare triple {1746#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,542 INFO L290 TraceCheckUtils]: 7: Hoare triple {1746#true} ~cond := #in~cond; {1772#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:02:56,542 INFO L290 TraceCheckUtils]: 8: Hoare triple {1772#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1776#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:56,542 INFO L290 TraceCheckUtils]: 9: Hoare triple {1776#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1776#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:56,542 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1776#(not (= |assume_abort_if_not_#in~cond| 0))} {1746#true} #79#return; {1783#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-27 13:02:56,543 INFO L290 TraceCheckUtils]: 11: Hoare triple {1783#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1783#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-27 13:02:56,543 INFO L272 TraceCheckUtils]: 12: Hoare triple {1783#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,543 INFO L290 TraceCheckUtils]: 13: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,543 INFO L290 TraceCheckUtils]: 14: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,543 INFO L290 TraceCheckUtils]: 15: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,543 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1746#true} {1783#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #81#return; {1783#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-27 13:02:56,544 INFO L272 TraceCheckUtils]: 17: Hoare triple {1783#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,544 INFO L290 TraceCheckUtils]: 18: Hoare triple {1746#true} ~cond := #in~cond; {1772#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:02:56,544 INFO L290 TraceCheckUtils]: 19: Hoare triple {1772#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1776#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:56,544 INFO L290 TraceCheckUtils]: 20: Hoare triple {1776#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1776#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:56,545 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1776#(not (= |assume_abort_if_not_#in~cond| 0))} {1783#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #83#return; {1817#(and (<= 1 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-27 13:02:56,545 INFO L272 TraceCheckUtils]: 22: Hoare triple {1817#(and (<= 1 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,545 INFO L290 TraceCheckUtils]: 23: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,545 INFO L290 TraceCheckUtils]: 24: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,545 INFO L290 TraceCheckUtils]: 25: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,545 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1746#true} {1817#(and (<= 1 main_~x~0) (<= main_~x~0 100))} #85#return; {1817#(and (<= 1 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-27 13:02:56,546 INFO L290 TraceCheckUtils]: 27: Hoare triple {1817#(and (<= 1 main_~x~0) (<= main_~x~0 100))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} is VALID [2022-04-27 13:02:56,546 INFO L272 TraceCheckUtils]: 28: Hoare triple {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,546 INFO L290 TraceCheckUtils]: 29: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,547 INFO L290 TraceCheckUtils]: 30: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,547 INFO L290 TraceCheckUtils]: 31: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,547 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1746#true} {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} #87#return; {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} is VALID [2022-04-27 13:02:56,548 INFO L272 TraceCheckUtils]: 33: Hoare triple {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,548 INFO L290 TraceCheckUtils]: 34: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,548 INFO L290 TraceCheckUtils]: 35: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,548 INFO L290 TraceCheckUtils]: 36: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,548 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1746#true} {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} #89#return; {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} is VALID [2022-04-27 13:02:56,548 INFO L290 TraceCheckUtils]: 38: Hoare triple {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} assume !false; {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} is VALID [2022-04-27 13:02:56,549 INFO L290 TraceCheckUtils]: 39: Hoare triple {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} is VALID [2022-04-27 13:02:56,549 INFO L290 TraceCheckUtils]: 40: Hoare triple {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} assume !false; {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} is VALID [2022-04-27 13:02:56,549 INFO L272 TraceCheckUtils]: 41: Hoare triple {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,549 INFO L290 TraceCheckUtils]: 42: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,549 INFO L290 TraceCheckUtils]: 43: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,549 INFO L290 TraceCheckUtils]: 44: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,550 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1746#true} {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} #91#return; {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} is VALID [2022-04-27 13:02:56,550 INFO L272 TraceCheckUtils]: 46: Hoare triple {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,550 INFO L290 TraceCheckUtils]: 47: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,550 INFO L290 TraceCheckUtils]: 48: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,550 INFO L290 TraceCheckUtils]: 49: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,550 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1746#true} {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} #93#return; {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} is VALID [2022-04-27 13:02:56,551 INFO L272 TraceCheckUtils]: 51: Hoare triple {1836#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1909#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:02:56,551 INFO L290 TraceCheckUtils]: 52: Hoare triple {1909#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1913#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:02:56,552 INFO L290 TraceCheckUtils]: 53: Hoare triple {1913#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1747#false} is VALID [2022-04-27 13:02:56,552 INFO L290 TraceCheckUtils]: 54: Hoare triple {1747#false} assume !false; {1747#false} is VALID [2022-04-27 13:02:56,552 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 7 proven. 21 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-27 13:02:56,553 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:02:56,820 INFO L290 TraceCheckUtils]: 54: Hoare triple {1747#false} assume !false; {1747#false} is VALID [2022-04-27 13:02:56,821 INFO L290 TraceCheckUtils]: 53: Hoare triple {1913#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1747#false} is VALID [2022-04-27 13:02:56,821 INFO L290 TraceCheckUtils]: 52: Hoare triple {1909#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1913#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:02:56,822 INFO L272 TraceCheckUtils]: 51: Hoare triple {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1909#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:02:56,822 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1746#true} {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #93#return; {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:02:56,822 INFO L290 TraceCheckUtils]: 49: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,822 INFO L290 TraceCheckUtils]: 48: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,822 INFO L290 TraceCheckUtils]: 47: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,822 INFO L272 TraceCheckUtils]: 46: Hoare triple {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,823 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1746#true} {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #91#return; {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:02:56,823 INFO L290 TraceCheckUtils]: 44: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,823 INFO L290 TraceCheckUtils]: 43: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,823 INFO L290 TraceCheckUtils]: 42: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,823 INFO L272 TraceCheckUtils]: 41: Hoare triple {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,823 INFO L290 TraceCheckUtils]: 40: Hoare triple {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:02:56,824 INFO L290 TraceCheckUtils]: 39: Hoare triple {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:02:56,824 INFO L290 TraceCheckUtils]: 38: Hoare triple {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:02:56,824 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1746#true} {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #89#return; {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:02:56,825 INFO L290 TraceCheckUtils]: 36: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,825 INFO L290 TraceCheckUtils]: 35: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,825 INFO L290 TraceCheckUtils]: 34: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,825 INFO L272 TraceCheckUtils]: 33: Hoare triple {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,826 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1746#true} {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #87#return; {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:02:56,826 INFO L290 TraceCheckUtils]: 31: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,826 INFO L290 TraceCheckUtils]: 30: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,827 INFO L290 TraceCheckUtils]: 29: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,827 INFO L272 TraceCheckUtils]: 28: Hoare triple {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,828 INFO L290 TraceCheckUtils]: 27: Hoare triple {1746#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1929#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:02:56,828 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1746#true} {1746#true} #85#return; {1746#true} is VALID [2022-04-27 13:02:56,828 INFO L290 TraceCheckUtils]: 25: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,828 INFO L290 TraceCheckUtils]: 24: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,828 INFO L290 TraceCheckUtils]: 23: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,829 INFO L272 TraceCheckUtils]: 22: Hoare triple {1746#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,829 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1746#true} {1746#true} #83#return; {1746#true} is VALID [2022-04-27 13:02:56,829 INFO L290 TraceCheckUtils]: 20: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,829 INFO L290 TraceCheckUtils]: 19: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,829 INFO L290 TraceCheckUtils]: 18: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,829 INFO L272 TraceCheckUtils]: 17: Hoare triple {1746#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,829 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1746#true} {1746#true} #81#return; {1746#true} is VALID [2022-04-27 13:02:56,829 INFO L290 TraceCheckUtils]: 15: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,829 INFO L290 TraceCheckUtils]: 14: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,829 INFO L290 TraceCheckUtils]: 13: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,829 INFO L272 TraceCheckUtils]: 12: Hoare triple {1746#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,829 INFO L290 TraceCheckUtils]: 11: Hoare triple {1746#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1746#true} is VALID [2022-04-27 13:02:56,829 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1746#true} {1746#true} #79#return; {1746#true} is VALID [2022-04-27 13:02:56,829 INFO L290 TraceCheckUtils]: 9: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,829 INFO L290 TraceCheckUtils]: 8: Hoare triple {1746#true} assume !(0 == ~cond); {1746#true} is VALID [2022-04-27 13:02:56,829 INFO L290 TraceCheckUtils]: 7: Hoare triple {1746#true} ~cond := #in~cond; {1746#true} is VALID [2022-04-27 13:02:56,829 INFO L272 TraceCheckUtils]: 6: Hoare triple {1746#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1746#true} is VALID [2022-04-27 13:02:56,830 INFO L290 TraceCheckUtils]: 5: Hoare triple {1746#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1746#true} is VALID [2022-04-27 13:02:56,830 INFO L272 TraceCheckUtils]: 4: Hoare triple {1746#true} call #t~ret6 := main(); {1746#true} is VALID [2022-04-27 13:02:56,830 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1746#true} {1746#true} #103#return; {1746#true} is VALID [2022-04-27 13:02:56,830 INFO L290 TraceCheckUtils]: 2: Hoare triple {1746#true} assume true; {1746#true} is VALID [2022-04-27 13:02:56,830 INFO L290 TraceCheckUtils]: 1: Hoare triple {1746#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(11, 2);call #Ultimate.allocInit(12, 3); {1746#true} is VALID [2022-04-27 13:02:56,830 INFO L272 TraceCheckUtils]: 0: Hoare triple {1746#true} call ULTIMATE.init(); {1746#true} is VALID [2022-04-27 13:02:56,830 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-27 13:02:56,830 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:02:56,830 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [763421840] [2022-04-27 13:02:56,830 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:02:56,830 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1210453020] [2022-04-27 13:02:56,830 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1210453020] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:02:56,830 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:02:56,830 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-27 13:02:56,831 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1933224163] [2022-04-27 13:02:56,831 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:02:56,831 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 55 [2022-04-27 13:02:56,831 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:02:56,831 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:02:56,853 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:02:56,853 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:02:56,853 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:02:56,854 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:02:56,854 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:02:56,854 INFO L87 Difference]: Start difference. First operand 51 states and 65 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:02:57,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:57,189 INFO L93 Difference]: Finished difference Result 58 states and 71 transitions. [2022-04-27 13:02:57,189 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:02:57,189 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 55 [2022-04-27 13:02:57,190 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:02:57,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:02:57,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 13:02:57,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:02:57,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 13:02:57,192 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-27 13:02:57,241 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 13:02:57,243 INFO L225 Difference]: With dead ends: 58 [2022-04-27 13:02:57,243 INFO L226 Difference]: Without dead ends: 56 [2022-04-27 13:02:57,243 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 100 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:02:57,244 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 7 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:02:57,245 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 149 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:02:57,246 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-27 13:02:57,280 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 55. [2022-04-27 13:02:57,281 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:02:57,281 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 55 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 31 states have internal predecessors, (34), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:57,281 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 55 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 31 states have internal predecessors, (34), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:57,282 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 55 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 31 states have internal predecessors, (34), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:57,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:57,284 INFO L93 Difference]: Finished difference Result 56 states and 69 transitions. [2022-04-27 13:02:57,284 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 69 transitions. [2022-04-27 13:02:57,284 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:57,284 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:57,284 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 31 states have internal predecessors, (34), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 56 states. [2022-04-27 13:02:57,284 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 31 states have internal predecessors, (34), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 56 states. [2022-04-27 13:02:57,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:57,286 INFO L93 Difference]: Finished difference Result 56 states and 69 transitions. [2022-04-27 13:02:57,286 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 69 transitions. [2022-04-27 13:02:57,286 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:57,286 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:57,286 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:02:57,286 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:02:57,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 31 states have internal predecessors, (34), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:57,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-27 13:02:57,288 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 55 [2022-04-27 13:02:57,288 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:02:57,288 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-27 13:02:57,288 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:02:57,288 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-27 13:02:57,289 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-27 13:02:57,289 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:02:57,289 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:02:57,309 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 13:02:57,505 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 13:02:57,505 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:02:57,505 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:02:57,505 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 1 times [2022-04-27 13:02:57,505 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:02:57,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1504005841] [2022-04-27 13:02:57,505 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:57,506 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:02:57,516 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:02:57,516 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1104249125] [2022-04-27 13:02:57,517 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:57,517 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:02:57,517 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:02:57,517 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 13:02:57,518 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 13:02:57,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:57,557 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-27 13:02:57,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:57,567 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:03:04,377 INFO L272 TraceCheckUtils]: 0: Hoare triple {2370#true} call ULTIMATE.init(); {2370#true} is VALID [2022-04-27 13:03:04,377 INFO L290 TraceCheckUtils]: 1: Hoare triple {2370#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(11, 2);call #Ultimate.allocInit(12, 3); {2370#true} is VALID [2022-04-27 13:03:04,377 INFO L290 TraceCheckUtils]: 2: Hoare triple {2370#true} assume true; {2370#true} is VALID [2022-04-27 13:03:04,377 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2370#true} {2370#true} #103#return; {2370#true} is VALID [2022-04-27 13:03:04,377 INFO L272 TraceCheckUtils]: 4: Hoare triple {2370#true} call #t~ret6 := main(); {2370#true} is VALID [2022-04-27 13:03:04,377 INFO L290 TraceCheckUtils]: 5: Hoare triple {2370#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2370#true} is VALID [2022-04-27 13:03:04,377 INFO L272 TraceCheckUtils]: 6: Hoare triple {2370#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2370#true} is VALID [2022-04-27 13:03:04,377 INFO L290 TraceCheckUtils]: 7: Hoare triple {2370#true} ~cond := #in~cond; {2370#true} is VALID [2022-04-27 13:03:04,378 INFO L290 TraceCheckUtils]: 8: Hoare triple {2370#true} assume !(0 == ~cond); {2370#true} is VALID [2022-04-27 13:03:04,378 INFO L290 TraceCheckUtils]: 9: Hoare triple {2370#true} assume true; {2370#true} is VALID [2022-04-27 13:03:04,378 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2370#true} {2370#true} #79#return; {2370#true} is VALID [2022-04-27 13:03:04,378 INFO L290 TraceCheckUtils]: 11: Hoare triple {2370#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2370#true} is VALID [2022-04-27 13:03:04,378 INFO L272 TraceCheckUtils]: 12: Hoare triple {2370#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2370#true} is VALID [2022-04-27 13:03:04,378 INFO L290 TraceCheckUtils]: 13: Hoare triple {2370#true} ~cond := #in~cond; {2370#true} is VALID [2022-04-27 13:03:04,378 INFO L290 TraceCheckUtils]: 14: Hoare triple {2370#true} assume !(0 == ~cond); {2370#true} is VALID [2022-04-27 13:03:04,378 INFO L290 TraceCheckUtils]: 15: Hoare triple {2370#true} assume true; {2370#true} is VALID [2022-04-27 13:03:04,378 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2370#true} {2370#true} #81#return; {2370#true} is VALID [2022-04-27 13:03:04,378 INFO L272 TraceCheckUtils]: 17: Hoare triple {2370#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2370#true} is VALID [2022-04-27 13:03:04,378 INFO L290 TraceCheckUtils]: 18: Hoare triple {2370#true} ~cond := #in~cond; {2370#true} is VALID [2022-04-27 13:03:04,378 INFO L290 TraceCheckUtils]: 19: Hoare triple {2370#true} assume !(0 == ~cond); {2370#true} is VALID [2022-04-27 13:03:04,378 INFO L290 TraceCheckUtils]: 20: Hoare triple {2370#true} assume true; {2370#true} is VALID [2022-04-27 13:03:04,378 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2370#true} {2370#true} #83#return; {2370#true} is VALID [2022-04-27 13:03:04,378 INFO L272 TraceCheckUtils]: 22: Hoare triple {2370#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2370#true} is VALID [2022-04-27 13:03:04,378 INFO L290 TraceCheckUtils]: 23: Hoare triple {2370#true} ~cond := #in~cond; {2370#true} is VALID [2022-04-27 13:03:04,378 INFO L290 TraceCheckUtils]: 24: Hoare triple {2370#true} assume !(0 == ~cond); {2370#true} is VALID [2022-04-27 13:03:04,379 INFO L290 TraceCheckUtils]: 25: Hoare triple {2370#true} assume true; {2370#true} is VALID [2022-04-27 13:03:04,379 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2370#true} {2370#true} #85#return; {2370#true} is VALID [2022-04-27 13:03:04,379 INFO L290 TraceCheckUtils]: 27: Hoare triple {2370#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-27 13:03:04,379 INFO L272 TraceCheckUtils]: 28: Hoare triple {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2370#true} is VALID [2022-04-27 13:03:04,379 INFO L290 TraceCheckUtils]: 29: Hoare triple {2370#true} ~cond := #in~cond; {2370#true} is VALID [2022-04-27 13:03:04,379 INFO L290 TraceCheckUtils]: 30: Hoare triple {2370#true} assume !(0 == ~cond); {2370#true} is VALID [2022-04-27 13:03:04,379 INFO L290 TraceCheckUtils]: 31: Hoare triple {2370#true} assume true; {2370#true} is VALID [2022-04-27 13:03:04,380 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2370#true} {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #87#return; {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-27 13:03:04,380 INFO L272 TraceCheckUtils]: 33: Hoare triple {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2370#true} is VALID [2022-04-27 13:03:04,380 INFO L290 TraceCheckUtils]: 34: Hoare triple {2370#true} ~cond := #in~cond; {2370#true} is VALID [2022-04-27 13:03:04,380 INFO L290 TraceCheckUtils]: 35: Hoare triple {2370#true} assume !(0 == ~cond); {2370#true} is VALID [2022-04-27 13:03:04,380 INFO L290 TraceCheckUtils]: 36: Hoare triple {2370#true} assume true; {2370#true} is VALID [2022-04-27 13:03:04,380 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2370#true} {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #89#return; {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-27 13:03:04,381 INFO L290 TraceCheckUtils]: 38: Hoare triple {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !false; {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-27 13:03:04,381 INFO L290 TraceCheckUtils]: 39: Hoare triple {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-27 13:03:04,382 INFO L290 TraceCheckUtils]: 40: Hoare triple {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !false; {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-27 13:03:04,382 INFO L272 TraceCheckUtils]: 41: Hoare triple {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2370#true} is VALID [2022-04-27 13:03:04,382 INFO L290 TraceCheckUtils]: 42: Hoare triple {2370#true} ~cond := #in~cond; {2370#true} is VALID [2022-04-27 13:03:04,382 INFO L290 TraceCheckUtils]: 43: Hoare triple {2370#true} assume !(0 == ~cond); {2370#true} is VALID [2022-04-27 13:03:04,382 INFO L290 TraceCheckUtils]: 44: Hoare triple {2370#true} assume true; {2370#true} is VALID [2022-04-27 13:03:04,382 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2370#true} {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #91#return; {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-27 13:03:04,382 INFO L272 TraceCheckUtils]: 46: Hoare triple {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2370#true} is VALID [2022-04-27 13:03:04,383 INFO L290 TraceCheckUtils]: 47: Hoare triple {2370#true} ~cond := #in~cond; {2517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:03:04,383 INFO L290 TraceCheckUtils]: 48: Hoare triple {2517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:03:04,383 INFO L290 TraceCheckUtils]: 49: Hoare triple {2521#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:03:04,384 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2521#(not (= |__VERIFIER_assert_#in~cond| 0))} {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #93#return; {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-27 13:03:04,384 INFO L272 TraceCheckUtils]: 51: Hoare triple {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2370#true} is VALID [2022-04-27 13:03:04,384 INFO L290 TraceCheckUtils]: 52: Hoare triple {2370#true} ~cond := #in~cond; {2517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:03:04,385 INFO L290 TraceCheckUtils]: 53: Hoare triple {2517#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:03:04,385 INFO L290 TraceCheckUtils]: 54: Hoare triple {2521#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:03:04,385 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2521#(not (= |__VERIFIER_assert_#in~cond| 0))} {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #95#return; {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-27 13:03:04,386 INFO L272 TraceCheckUtils]: 56: Hoare triple {2456#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {2546#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:03:04,386 INFO L290 TraceCheckUtils]: 57: Hoare triple {2546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:03:04,387 INFO L290 TraceCheckUtils]: 58: Hoare triple {2550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2371#false} is VALID [2022-04-27 13:03:04,387 INFO L290 TraceCheckUtils]: 59: Hoare triple {2371#false} assume !false; {2371#false} is VALID [2022-04-27 13:03:04,387 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 2 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2022-04-27 13:03:04,387 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:03:50,684 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:03:50,685 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1504005841] [2022-04-27 13:03:50,685 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:03:50,685 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1104249125] [2022-04-27 13:03:50,685 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1104249125] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:03:50,685 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:03:50,685 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2022-04-27 13:03:50,685 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [28451049] [2022-04-27 13:03:50,685 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:03:50,685 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 60 [2022-04-27 13:03:50,686 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:03:50,686 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-27 13:03:50,725 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:03:50,725 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-27 13:03:50,725 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:03:50,726 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-27 13:03:50,726 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:03:50,726 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-27 13:03:51,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:51,017 INFO L93 Difference]: Finished difference Result 62 states and 74 transitions. [2022-04-27 13:03:51,017 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:03:51,018 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 60 [2022-04-27 13:03:51,018 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:03:51,018 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-27 13:03:51,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-27 13:03:51,019 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-27 13:03:51,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-27 13:03:51,020 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2022-04-27 13:03:51,070 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 13:03:51,071 INFO L225 Difference]: With dead ends: 62 [2022-04-27 13:03:51,072 INFO L226 Difference]: Without dead ends: 60 [2022-04-27 13:03:51,072 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:03:51,072 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 12 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 106 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 106 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:03:51,073 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 138 Invalid, 109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 106 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:03:51,073 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-27 13:03:51,101 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 59. [2022-04-27 13:03:51,101 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:03:51,102 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:51,102 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:51,102 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:51,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:51,104 INFO L93 Difference]: Finished difference Result 60 states and 72 transitions. [2022-04-27 13:03:51,104 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 72 transitions. [2022-04-27 13:03:51,105 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:03:51,105 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:03:51,105 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 60 states. [2022-04-27 13:03:51,105 INFO L87 Difference]: Start difference. First operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 60 states. [2022-04-27 13:03:51,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:51,112 INFO L93 Difference]: Finished difference Result 60 states and 72 transitions. [2022-04-27 13:03:51,112 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 72 transitions. [2022-04-27 13:03:51,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:03:51,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:03:51,113 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:03:51,113 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:03:51,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:51,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 71 transitions. [2022-04-27 13:03:51,115 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 71 transitions. Word has length 60 [2022-04-27 13:03:51,115 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:03:51,115 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 71 transitions. [2022-04-27 13:03:51,115 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-27 13:03:51,115 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 71 transitions. [2022-04-27 13:03:51,116 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-27 13:03:51,116 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:03:51,116 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:03:51,137 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 13:03:51,331 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 13:03:51,331 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:03:51,332 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:03:51,332 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 1 times [2022-04-27 13:03:51,332 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:03:51,332 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [865930313] [2022-04-27 13:03:51,332 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:03:51,332 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:03:51,350 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:03:51,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [91447611] [2022-04-27 13:03:51,350 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:03:51,350 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:03:51,350 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:03:51,356 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 13:03:51,356 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 13:03:51,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:03:51,399 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:03:51,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:03:51,409 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:03:51,606 INFO L272 TraceCheckUtils]: 0: Hoare triple {2878#true} call ULTIMATE.init(); {2878#true} is VALID [2022-04-27 13:03:51,606 INFO L290 TraceCheckUtils]: 1: Hoare triple {2878#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(11, 2);call #Ultimate.allocInit(12, 3); {2878#true} is VALID [2022-04-27 13:03:51,606 INFO L290 TraceCheckUtils]: 2: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,606 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2878#true} {2878#true} #103#return; {2878#true} is VALID [2022-04-27 13:03:51,606 INFO L272 TraceCheckUtils]: 4: Hoare triple {2878#true} call #t~ret6 := main(); {2878#true} is VALID [2022-04-27 13:03:51,606 INFO L290 TraceCheckUtils]: 5: Hoare triple {2878#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2878#true} is VALID [2022-04-27 13:03:51,606 INFO L272 TraceCheckUtils]: 6: Hoare triple {2878#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,606 INFO L290 TraceCheckUtils]: 7: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-27 13:03:51,606 INFO L290 TraceCheckUtils]: 8: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-27 13:03:51,606 INFO L290 TraceCheckUtils]: 9: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,607 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2878#true} {2878#true} #79#return; {2878#true} is VALID [2022-04-27 13:03:51,607 INFO L290 TraceCheckUtils]: 11: Hoare triple {2878#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2878#true} is VALID [2022-04-27 13:03:51,607 INFO L272 TraceCheckUtils]: 12: Hoare triple {2878#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,607 INFO L290 TraceCheckUtils]: 13: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-27 13:03:51,607 INFO L290 TraceCheckUtils]: 14: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-27 13:03:51,607 INFO L290 TraceCheckUtils]: 15: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,607 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2878#true} {2878#true} #81#return; {2878#true} is VALID [2022-04-27 13:03:51,607 INFO L272 TraceCheckUtils]: 17: Hoare triple {2878#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,607 INFO L290 TraceCheckUtils]: 18: Hoare triple {2878#true} ~cond := #in~cond; {2937#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:03:51,608 INFO L290 TraceCheckUtils]: 19: Hoare triple {2937#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2941#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:51,608 INFO L290 TraceCheckUtils]: 20: Hoare triple {2941#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2941#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:51,608 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2941#(not (= |assume_abort_if_not_#in~cond| 0))} {2878#true} #83#return; {2948#(<= 1 main_~x~0)} is VALID [2022-04-27 13:03:51,608 INFO L272 TraceCheckUtils]: 22: Hoare triple {2948#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,608 INFO L290 TraceCheckUtils]: 23: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-27 13:03:51,608 INFO L290 TraceCheckUtils]: 24: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-27 13:03:51,609 INFO L290 TraceCheckUtils]: 25: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,609 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2878#true} {2948#(<= 1 main_~x~0)} #85#return; {2948#(<= 1 main_~x~0)} is VALID [2022-04-27 13:03:51,609 INFO L290 TraceCheckUtils]: 27: Hoare triple {2948#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2967#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:51,609 INFO L272 TraceCheckUtils]: 28: Hoare triple {2967#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,609 INFO L290 TraceCheckUtils]: 29: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-27 13:03:51,610 INFO L290 TraceCheckUtils]: 30: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-27 13:03:51,621 INFO L290 TraceCheckUtils]: 31: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,624 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2878#true} {2967#(<= 1 main_~a~0)} #87#return; {2967#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:51,624 INFO L272 TraceCheckUtils]: 33: Hoare triple {2967#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,624 INFO L290 TraceCheckUtils]: 34: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-27 13:03:51,624 INFO L290 TraceCheckUtils]: 35: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-27 13:03:51,624 INFO L290 TraceCheckUtils]: 36: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,631 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2878#true} {2967#(<= 1 main_~a~0)} #89#return; {2967#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:51,631 INFO L290 TraceCheckUtils]: 38: Hoare triple {2967#(<= 1 main_~a~0)} assume !false; {2967#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:51,632 INFO L290 TraceCheckUtils]: 39: Hoare triple {2967#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3004#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:51,632 INFO L290 TraceCheckUtils]: 40: Hoare triple {3004#(<= 1 main_~c~0)} assume !false; {3004#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:51,632 INFO L272 TraceCheckUtils]: 41: Hoare triple {3004#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,632 INFO L290 TraceCheckUtils]: 42: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-27 13:03:51,632 INFO L290 TraceCheckUtils]: 43: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-27 13:03:51,632 INFO L290 TraceCheckUtils]: 44: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,633 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2878#true} {3004#(<= 1 main_~c~0)} #91#return; {3004#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:51,633 INFO L272 TraceCheckUtils]: 46: Hoare triple {3004#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,633 INFO L290 TraceCheckUtils]: 47: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-27 13:03:51,633 INFO L290 TraceCheckUtils]: 48: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-27 13:03:51,633 INFO L290 TraceCheckUtils]: 49: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,633 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2878#true} {3004#(<= 1 main_~c~0)} #93#return; {3004#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:51,634 INFO L272 TraceCheckUtils]: 51: Hoare triple {3004#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,634 INFO L290 TraceCheckUtils]: 52: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-27 13:03:51,634 INFO L290 TraceCheckUtils]: 53: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-27 13:03:51,634 INFO L290 TraceCheckUtils]: 54: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,634 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2878#true} {3004#(<= 1 main_~c~0)} #95#return; {3004#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:51,634 INFO L272 TraceCheckUtils]: 56: Hoare triple {3004#(<= 1 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,634 INFO L290 TraceCheckUtils]: 57: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-27 13:03:51,634 INFO L290 TraceCheckUtils]: 58: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-27 13:03:51,634 INFO L290 TraceCheckUtils]: 59: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,635 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {2878#true} {3004#(<= 1 main_~c~0)} #97#return; {3004#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:51,635 INFO L290 TraceCheckUtils]: 61: Hoare triple {3004#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3004#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:51,636 INFO L290 TraceCheckUtils]: 62: Hoare triple {3004#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3074#(<= 1 main_~b~0)} is VALID [2022-04-27 13:03:51,636 INFO L290 TraceCheckUtils]: 63: Hoare triple {3074#(<= 1 main_~b~0)} assume !false; {3074#(<= 1 main_~b~0)} is VALID [2022-04-27 13:03:51,636 INFO L290 TraceCheckUtils]: 64: Hoare triple {3074#(<= 1 main_~b~0)} assume !(0 != ~b~0); {2879#false} is VALID [2022-04-27 13:03:51,636 INFO L272 TraceCheckUtils]: 65: Hoare triple {2879#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {2879#false} is VALID [2022-04-27 13:03:51,636 INFO L290 TraceCheckUtils]: 66: Hoare triple {2879#false} ~cond := #in~cond; {2879#false} is VALID [2022-04-27 13:03:51,636 INFO L290 TraceCheckUtils]: 67: Hoare triple {2879#false} assume 0 == ~cond; {2879#false} is VALID [2022-04-27 13:03:51,636 INFO L290 TraceCheckUtils]: 68: Hoare triple {2879#false} assume !false; {2879#false} is VALID [2022-04-27 13:03:51,637 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-27 13:03:51,637 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:03:51,894 INFO L290 TraceCheckUtils]: 68: Hoare triple {2879#false} assume !false; {2879#false} is VALID [2022-04-27 13:03:51,894 INFO L290 TraceCheckUtils]: 67: Hoare triple {2879#false} assume 0 == ~cond; {2879#false} is VALID [2022-04-27 13:03:51,894 INFO L290 TraceCheckUtils]: 66: Hoare triple {2879#false} ~cond := #in~cond; {2879#false} is VALID [2022-04-27 13:03:51,894 INFO L272 TraceCheckUtils]: 65: Hoare triple {2879#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {2879#false} is VALID [2022-04-27 13:03:51,895 INFO L290 TraceCheckUtils]: 64: Hoare triple {3074#(<= 1 main_~b~0)} assume !(0 != ~b~0); {2879#false} is VALID [2022-04-27 13:03:51,895 INFO L290 TraceCheckUtils]: 63: Hoare triple {3074#(<= 1 main_~b~0)} assume !false; {3074#(<= 1 main_~b~0)} is VALID [2022-04-27 13:03:51,895 INFO L290 TraceCheckUtils]: 62: Hoare triple {3004#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3074#(<= 1 main_~b~0)} is VALID [2022-04-27 13:03:51,895 INFO L290 TraceCheckUtils]: 61: Hoare triple {3004#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3004#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:51,896 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {2878#true} {3004#(<= 1 main_~c~0)} #97#return; {3004#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:51,896 INFO L290 TraceCheckUtils]: 59: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,896 INFO L290 TraceCheckUtils]: 58: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-27 13:03:51,896 INFO L290 TraceCheckUtils]: 57: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-27 13:03:51,896 INFO L272 TraceCheckUtils]: 56: Hoare triple {3004#(<= 1 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,897 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2878#true} {3004#(<= 1 main_~c~0)} #95#return; {3004#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:51,897 INFO L290 TraceCheckUtils]: 54: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,897 INFO L290 TraceCheckUtils]: 53: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-27 13:03:51,897 INFO L290 TraceCheckUtils]: 52: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-27 13:03:51,897 INFO L272 TraceCheckUtils]: 51: Hoare triple {3004#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,897 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2878#true} {3004#(<= 1 main_~c~0)} #93#return; {3004#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:51,898 INFO L290 TraceCheckUtils]: 49: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,898 INFO L290 TraceCheckUtils]: 48: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-27 13:03:51,898 INFO L290 TraceCheckUtils]: 47: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-27 13:03:51,898 INFO L272 TraceCheckUtils]: 46: Hoare triple {3004#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,898 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2878#true} {3004#(<= 1 main_~c~0)} #91#return; {3004#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:51,898 INFO L290 TraceCheckUtils]: 44: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,898 INFO L290 TraceCheckUtils]: 43: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-27 13:03:51,898 INFO L290 TraceCheckUtils]: 42: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-27 13:03:51,898 INFO L272 TraceCheckUtils]: 41: Hoare triple {3004#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,899 INFO L290 TraceCheckUtils]: 40: Hoare triple {3004#(<= 1 main_~c~0)} assume !false; {3004#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:51,899 INFO L290 TraceCheckUtils]: 39: Hoare triple {2967#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3004#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:51,899 INFO L290 TraceCheckUtils]: 38: Hoare triple {2967#(<= 1 main_~a~0)} assume !false; {2967#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:51,899 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2878#true} {2967#(<= 1 main_~a~0)} #89#return; {2967#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:51,899 INFO L290 TraceCheckUtils]: 36: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,900 INFO L290 TraceCheckUtils]: 35: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-27 13:03:51,900 INFO L290 TraceCheckUtils]: 34: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-27 13:03:51,900 INFO L272 TraceCheckUtils]: 33: Hoare triple {2967#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,900 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2878#true} {2967#(<= 1 main_~a~0)} #87#return; {2967#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:51,900 INFO L290 TraceCheckUtils]: 31: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,900 INFO L290 TraceCheckUtils]: 30: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-27 13:03:51,900 INFO L290 TraceCheckUtils]: 29: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-27 13:03:51,900 INFO L272 TraceCheckUtils]: 28: Hoare triple {2967#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,900 INFO L290 TraceCheckUtils]: 27: Hoare triple {2948#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2967#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:51,901 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2878#true} {2948#(<= 1 main_~x~0)} #85#return; {2948#(<= 1 main_~x~0)} is VALID [2022-04-27 13:03:51,901 INFO L290 TraceCheckUtils]: 25: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,901 INFO L290 TraceCheckUtils]: 24: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-27 13:03:51,901 INFO L290 TraceCheckUtils]: 23: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-27 13:03:51,901 INFO L272 TraceCheckUtils]: 22: Hoare triple {2948#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,901 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2941#(not (= |assume_abort_if_not_#in~cond| 0))} {2878#true} #83#return; {2948#(<= 1 main_~x~0)} is VALID [2022-04-27 13:03:51,902 INFO L290 TraceCheckUtils]: 20: Hoare triple {2941#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2941#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:51,902 INFO L290 TraceCheckUtils]: 19: Hoare triple {3243#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {2941#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:51,902 INFO L290 TraceCheckUtils]: 18: Hoare triple {2878#true} ~cond := #in~cond; {3243#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:03:51,902 INFO L272 TraceCheckUtils]: 17: Hoare triple {2878#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,902 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2878#true} {2878#true} #81#return; {2878#true} is VALID [2022-04-27 13:03:51,902 INFO L290 TraceCheckUtils]: 15: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,902 INFO L290 TraceCheckUtils]: 14: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-27 13:03:51,902 INFO L290 TraceCheckUtils]: 13: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-27 13:03:51,903 INFO L272 TraceCheckUtils]: 12: Hoare triple {2878#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,903 INFO L290 TraceCheckUtils]: 11: Hoare triple {2878#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2878#true} is VALID [2022-04-27 13:03:51,903 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2878#true} {2878#true} #79#return; {2878#true} is VALID [2022-04-27 13:03:51,903 INFO L290 TraceCheckUtils]: 9: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,903 INFO L290 TraceCheckUtils]: 8: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-27 13:03:51,903 INFO L290 TraceCheckUtils]: 7: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-27 13:03:51,903 INFO L272 TraceCheckUtils]: 6: Hoare triple {2878#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2878#true} is VALID [2022-04-27 13:03:51,903 INFO L290 TraceCheckUtils]: 5: Hoare triple {2878#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2878#true} is VALID [2022-04-27 13:03:51,903 INFO L272 TraceCheckUtils]: 4: Hoare triple {2878#true} call #t~ret6 := main(); {2878#true} is VALID [2022-04-27 13:03:51,903 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2878#true} {2878#true} #103#return; {2878#true} is VALID [2022-04-27 13:03:51,903 INFO L290 TraceCheckUtils]: 2: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-27 13:03:51,903 INFO L290 TraceCheckUtils]: 1: Hoare triple {2878#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(11, 2);call #Ultimate.allocInit(12, 3); {2878#true} is VALID [2022-04-27 13:03:51,903 INFO L272 TraceCheckUtils]: 0: Hoare triple {2878#true} call ULTIMATE.init(); {2878#true} is VALID [2022-04-27 13:03:51,903 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-27 13:03:51,903 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:03:51,903 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [865930313] [2022-04-27 13:03:51,903 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:03:51,904 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [91447611] [2022-04-27 13:03:51,904 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [91447611] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:03:51,904 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:03:51,904 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-27 13:03:51,904 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [786898898] [2022-04-27 13:03:51,904 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:03:51,904 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-27 13:03:51,905 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:03:51,905 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 13:03:51,934 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:03:51,934 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:03:51,934 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:03:51,934 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:03:51,934 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:03:51,934 INFO L87 Difference]: Start difference. First operand 59 states and 71 transitions. Second operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 13:03:52,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:52,537 INFO L93 Difference]: Finished difference Result 106 states and 146 transitions. [2022-04-27 13:03:52,537 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:03:52,537 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-27 13:03:52,537 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:03:52,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 13:03:52,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-27 13:03:52,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 13:03:52,541 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-27 13:03:52,541 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 110 transitions. [2022-04-27 13:03:52,620 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:03:52,622 INFO L225 Difference]: With dead ends: 106 [2022-04-27 13:03:52,622 INFO L226 Difference]: Without dead ends: 98 [2022-04-27 13:03:52,623 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 142 GetRequests, 129 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:03:52,626 INFO L413 NwaCegarLoop]: 60 mSDtfsCounter, 30 mSDsluCounter, 199 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 259 SdHoareTripleChecker+Invalid, 227 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:03:52,626 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 259 Invalid, 227 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:03:52,627 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-27 13:03:52,696 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 89. [2022-04-27 13:03:52,697 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:03:52,697 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:03:52,697 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:03:52,697 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:03:52,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:52,700 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-27 13:03:52,700 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-27 13:03:52,700 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:03:52,701 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:03:52,701 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) Second operand 98 states. [2022-04-27 13:03:52,701 INFO L87 Difference]: Start difference. First operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) Second operand 98 states. [2022-04-27 13:03:52,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:52,704 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-27 13:03:52,704 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-27 13:03:52,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:03:52,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:03:52,704 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:03:52,704 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:03:52,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:03:52,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 122 transitions. [2022-04-27 13:03:52,707 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 122 transitions. Word has length 69 [2022-04-27 13:03:52,707 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:03:52,707 INFO L495 AbstractCegarLoop]: Abstraction has 89 states and 122 transitions. [2022-04-27 13:03:52,707 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 13:03:52,707 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 122 transitions. [2022-04-27 13:03:52,708 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-27 13:03:52,708 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:03:52,708 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:03:52,723 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 13:03:52,923 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 13:03:52,923 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:03:52,924 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:03:52,924 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 1 times [2022-04-27 13:03:52,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:03:52,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1820550997] [2022-04-27 13:03:52,924 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:03:52,924 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:03:52,935 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:03:52,936 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [303556985] [2022-04-27 13:03:52,936 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:03:52,936 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:03:52,936 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:03:52,936 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 13:03:52,937 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 13:03:52,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:03:52,999 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-27 13:03:53,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:03:53,009 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:03:53,214 INFO L272 TraceCheckUtils]: 0: Hoare triple {3815#true} call ULTIMATE.init(); {3815#true} is VALID [2022-04-27 13:03:53,214 INFO L290 TraceCheckUtils]: 1: Hoare triple {3815#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(11, 2);call #Ultimate.allocInit(12, 3); {3815#true} is VALID [2022-04-27 13:03:53,214 INFO L290 TraceCheckUtils]: 2: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:53,214 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3815#true} {3815#true} #103#return; {3815#true} is VALID [2022-04-27 13:03:53,214 INFO L272 TraceCheckUtils]: 4: Hoare triple {3815#true} call #t~ret6 := main(); {3815#true} is VALID [2022-04-27 13:03:53,214 INFO L290 TraceCheckUtils]: 5: Hoare triple {3815#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3815#true} is VALID [2022-04-27 13:03:53,214 INFO L272 TraceCheckUtils]: 6: Hoare triple {3815#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:53,214 INFO L290 TraceCheckUtils]: 7: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:53,214 INFO L290 TraceCheckUtils]: 8: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:53,214 INFO L290 TraceCheckUtils]: 9: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:53,214 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3815#true} {3815#true} #79#return; {3815#true} is VALID [2022-04-27 13:03:53,214 INFO L290 TraceCheckUtils]: 11: Hoare triple {3815#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3815#true} is VALID [2022-04-27 13:03:53,214 INFO L272 TraceCheckUtils]: 12: Hoare triple {3815#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:53,215 INFO L290 TraceCheckUtils]: 13: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:53,215 INFO L290 TraceCheckUtils]: 14: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:53,215 INFO L290 TraceCheckUtils]: 15: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:53,215 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3815#true} {3815#true} #81#return; {3815#true} is VALID [2022-04-27 13:03:53,215 INFO L272 TraceCheckUtils]: 17: Hoare triple {3815#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:53,215 INFO L290 TraceCheckUtils]: 18: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:53,215 INFO L290 TraceCheckUtils]: 19: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:53,215 INFO L290 TraceCheckUtils]: 20: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:53,215 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3815#true} {3815#true} #83#return; {3815#true} is VALID [2022-04-27 13:03:53,215 INFO L272 TraceCheckUtils]: 22: Hoare triple {3815#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:53,215 INFO L290 TraceCheckUtils]: 23: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:53,215 INFO L290 TraceCheckUtils]: 24: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:53,215 INFO L290 TraceCheckUtils]: 25: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:53,215 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3815#true} {3815#true} #85#return; {3815#true} is VALID [2022-04-27 13:03:53,216 INFO L290 TraceCheckUtils]: 27: Hoare triple {3815#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3901#(= main_~q~0 0)} is VALID [2022-04-27 13:03:53,216 INFO L272 TraceCheckUtils]: 28: Hoare triple {3901#(= main_~q~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:53,216 INFO L290 TraceCheckUtils]: 29: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:53,216 INFO L290 TraceCheckUtils]: 30: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:53,216 INFO L290 TraceCheckUtils]: 31: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:53,216 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3815#true} {3901#(= main_~q~0 0)} #87#return; {3901#(= main_~q~0 0)} is VALID [2022-04-27 13:03:53,216 INFO L272 TraceCheckUtils]: 33: Hoare triple {3901#(= main_~q~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:53,216 INFO L290 TraceCheckUtils]: 34: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:53,216 INFO L290 TraceCheckUtils]: 35: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:53,216 INFO L290 TraceCheckUtils]: 36: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:53,217 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3815#true} {3901#(= main_~q~0 0)} #89#return; {3901#(= main_~q~0 0)} is VALID [2022-04-27 13:03:53,217 INFO L290 TraceCheckUtils]: 38: Hoare triple {3901#(= main_~q~0 0)} assume !false; {3901#(= main_~q~0 0)} is VALID [2022-04-27 13:03:53,217 INFO L290 TraceCheckUtils]: 39: Hoare triple {3901#(= main_~q~0 0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3901#(= main_~q~0 0)} is VALID [2022-04-27 13:03:53,217 INFO L290 TraceCheckUtils]: 40: Hoare triple {3901#(= main_~q~0 0)} assume !false; {3901#(= main_~q~0 0)} is VALID [2022-04-27 13:03:53,217 INFO L272 TraceCheckUtils]: 41: Hoare triple {3901#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:53,217 INFO L290 TraceCheckUtils]: 42: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:53,218 INFO L290 TraceCheckUtils]: 43: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:53,218 INFO L290 TraceCheckUtils]: 44: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:53,218 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3815#true} {3901#(= main_~q~0 0)} #91#return; {3901#(= main_~q~0 0)} is VALID [2022-04-27 13:03:53,218 INFO L272 TraceCheckUtils]: 46: Hoare triple {3901#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:53,218 INFO L290 TraceCheckUtils]: 47: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:53,218 INFO L290 TraceCheckUtils]: 48: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:53,218 INFO L290 TraceCheckUtils]: 49: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:53,219 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3815#true} {3901#(= main_~q~0 0)} #93#return; {3901#(= main_~q~0 0)} is VALID [2022-04-27 13:03:53,219 INFO L272 TraceCheckUtils]: 51: Hoare triple {3901#(= main_~q~0 0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:53,219 INFO L290 TraceCheckUtils]: 52: Hoare triple {3815#true} ~cond := #in~cond; {3977#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:03:53,219 INFO L290 TraceCheckUtils]: 53: Hoare triple {3977#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3981#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:03:53,219 INFO L290 TraceCheckUtils]: 54: Hoare triple {3981#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3981#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:03:53,220 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3981#(not (= |__VERIFIER_assert_#in~cond| 0))} {3901#(= main_~q~0 0)} #95#return; {3988#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-27 13:03:53,220 INFO L272 TraceCheckUtils]: 56: Hoare triple {3988#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:53,220 INFO L290 TraceCheckUtils]: 57: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:53,220 INFO L290 TraceCheckUtils]: 58: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:53,220 INFO L290 TraceCheckUtils]: 59: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:53,221 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3815#true} {3988#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} #97#return; {3988#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-27 13:03:53,222 INFO L290 TraceCheckUtils]: 61: Hoare triple {3988#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {3988#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-27 13:03:53,222 INFO L290 TraceCheckUtils]: 62: Hoare triple {3988#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4010#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:03:53,231 INFO L290 TraceCheckUtils]: 63: Hoare triple {4010#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {4010#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:03:53,232 INFO L290 TraceCheckUtils]: 64: Hoare triple {4010#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4010#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:03:53,232 INFO L290 TraceCheckUtils]: 65: Hoare triple {4010#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {4010#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:03:53,232 INFO L272 TraceCheckUtils]: 66: Hoare triple {4010#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:53,232 INFO L290 TraceCheckUtils]: 67: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:53,232 INFO L290 TraceCheckUtils]: 68: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:53,232 INFO L290 TraceCheckUtils]: 69: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:53,233 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {3815#true} {4010#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #91#return; {4010#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:03:53,234 INFO L272 TraceCheckUtils]: 71: Hoare triple {4010#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4038#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:03:53,234 INFO L290 TraceCheckUtils]: 72: Hoare triple {4038#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4042#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:03:53,234 INFO L290 TraceCheckUtils]: 73: Hoare triple {4042#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3816#false} is VALID [2022-04-27 13:03:53,234 INFO L290 TraceCheckUtils]: 74: Hoare triple {3816#false} assume !false; {3816#false} is VALID [2022-04-27 13:03:53,235 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 15 proven. 12 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-27 13:03:53,235 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:03:59,643 INFO L290 TraceCheckUtils]: 74: Hoare triple {3816#false} assume !false; {3816#false} is VALID [2022-04-27 13:03:59,643 INFO L290 TraceCheckUtils]: 73: Hoare triple {4042#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3816#false} is VALID [2022-04-27 13:03:59,644 INFO L290 TraceCheckUtils]: 72: Hoare triple {4038#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4042#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:03:59,644 INFO L272 TraceCheckUtils]: 71: Hoare triple {4058#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4038#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:03:59,645 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {3815#true} {4058#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #91#return; {4058#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:03:59,645 INFO L290 TraceCheckUtils]: 69: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:59,645 INFO L290 TraceCheckUtils]: 68: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:59,645 INFO L290 TraceCheckUtils]: 67: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:59,645 INFO L272 TraceCheckUtils]: 66: Hoare triple {4058#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:59,645 INFO L290 TraceCheckUtils]: 65: Hoare triple {4058#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {4058#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:03:59,646 INFO L290 TraceCheckUtils]: 64: Hoare triple {4058#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4058#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:03:59,646 INFO L290 TraceCheckUtils]: 63: Hoare triple {4058#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {4058#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:03:59,646 INFO L290 TraceCheckUtils]: 62: Hoare triple {4086#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4058#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:03:59,647 INFO L290 TraceCheckUtils]: 61: Hoare triple {4086#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {4086#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:03:59,647 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3815#true} {4086#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #97#return; {4086#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:03:59,647 INFO L290 TraceCheckUtils]: 59: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:59,647 INFO L290 TraceCheckUtils]: 58: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:59,647 INFO L290 TraceCheckUtils]: 57: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:59,647 INFO L272 TraceCheckUtils]: 56: Hoare triple {4086#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:59,648 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3981#(not (= |__VERIFIER_assert_#in~cond| 0))} {3815#true} #95#return; {4086#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:03:59,648 INFO L290 TraceCheckUtils]: 54: Hoare triple {3981#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3981#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:03:59,648 INFO L290 TraceCheckUtils]: 53: Hoare triple {4117#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3981#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:03:59,649 INFO L290 TraceCheckUtils]: 52: Hoare triple {3815#true} ~cond := #in~cond; {4117#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:03:59,649 INFO L272 TraceCheckUtils]: 51: Hoare triple {3815#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:59,649 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3815#true} {3815#true} #93#return; {3815#true} is VALID [2022-04-27 13:03:59,649 INFO L290 TraceCheckUtils]: 49: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:59,649 INFO L290 TraceCheckUtils]: 48: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:59,649 INFO L290 TraceCheckUtils]: 47: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:59,649 INFO L272 TraceCheckUtils]: 46: Hoare triple {3815#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:59,649 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3815#true} {3815#true} #91#return; {3815#true} is VALID [2022-04-27 13:03:59,649 INFO L290 TraceCheckUtils]: 44: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:59,649 INFO L290 TraceCheckUtils]: 43: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:59,649 INFO L290 TraceCheckUtils]: 42: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:59,649 INFO L272 TraceCheckUtils]: 41: Hoare triple {3815#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:59,649 INFO L290 TraceCheckUtils]: 40: Hoare triple {3815#true} assume !false; {3815#true} is VALID [2022-04-27 13:03:59,649 INFO L290 TraceCheckUtils]: 39: Hoare triple {3815#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L290 TraceCheckUtils]: 38: Hoare triple {3815#true} assume !false; {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3815#true} {3815#true} #89#return; {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L290 TraceCheckUtils]: 36: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L290 TraceCheckUtils]: 35: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L290 TraceCheckUtils]: 34: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L272 TraceCheckUtils]: 33: Hoare triple {3815#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3815#true} {3815#true} #87#return; {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L290 TraceCheckUtils]: 31: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L290 TraceCheckUtils]: 30: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L290 TraceCheckUtils]: 29: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L272 TraceCheckUtils]: 28: Hoare triple {3815#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L290 TraceCheckUtils]: 27: Hoare triple {3815#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3815#true} {3815#true} #85#return; {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L290 TraceCheckUtils]: 25: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L290 TraceCheckUtils]: 24: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L290 TraceCheckUtils]: 23: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L272 TraceCheckUtils]: 22: Hoare triple {3815#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3815#true} {3815#true} #83#return; {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L290 TraceCheckUtils]: 20: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L290 TraceCheckUtils]: 19: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:59,650 INFO L290 TraceCheckUtils]: 18: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:59,651 INFO L272 TraceCheckUtils]: 17: Hoare triple {3815#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:59,651 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3815#true} {3815#true} #81#return; {3815#true} is VALID [2022-04-27 13:03:59,651 INFO L290 TraceCheckUtils]: 15: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:59,651 INFO L290 TraceCheckUtils]: 14: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:59,651 INFO L290 TraceCheckUtils]: 13: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:59,651 INFO L272 TraceCheckUtils]: 12: Hoare triple {3815#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:59,651 INFO L290 TraceCheckUtils]: 11: Hoare triple {3815#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3815#true} is VALID [2022-04-27 13:03:59,651 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3815#true} {3815#true} #79#return; {3815#true} is VALID [2022-04-27 13:03:59,651 INFO L290 TraceCheckUtils]: 9: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:59,651 INFO L290 TraceCheckUtils]: 8: Hoare triple {3815#true} assume !(0 == ~cond); {3815#true} is VALID [2022-04-27 13:03:59,651 INFO L290 TraceCheckUtils]: 7: Hoare triple {3815#true} ~cond := #in~cond; {3815#true} is VALID [2022-04-27 13:03:59,651 INFO L272 TraceCheckUtils]: 6: Hoare triple {3815#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {3815#true} is VALID [2022-04-27 13:03:59,651 INFO L290 TraceCheckUtils]: 5: Hoare triple {3815#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3815#true} is VALID [2022-04-27 13:03:59,651 INFO L272 TraceCheckUtils]: 4: Hoare triple {3815#true} call #t~ret6 := main(); {3815#true} is VALID [2022-04-27 13:03:59,651 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3815#true} {3815#true} #103#return; {3815#true} is VALID [2022-04-27 13:03:59,651 INFO L290 TraceCheckUtils]: 2: Hoare triple {3815#true} assume true; {3815#true} is VALID [2022-04-27 13:03:59,651 INFO L290 TraceCheckUtils]: 1: Hoare triple {3815#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(11, 2);call #Ultimate.allocInit(12, 3); {3815#true} is VALID [2022-04-27 13:03:59,651 INFO L272 TraceCheckUtils]: 0: Hoare triple {3815#true} call ULTIMATE.init(); {3815#true} is VALID [2022-04-27 13:03:59,652 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 20 proven. 7 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-27 13:03:59,652 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:03:59,652 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1820550997] [2022-04-27 13:03:59,652 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:03:59,652 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [303556985] [2022-04-27 13:03:59,652 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [303556985] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:03:59,652 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:03:59,652 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-27 13:03:59,652 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2109754878] [2022-04-27 13:03:59,652 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:03:59,653 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 6 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) Word has length 75 [2022-04-27 13:03:59,653 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:03:59,653 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 6 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-27 13:03:59,720 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 13:03:59,720 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-27 13:03:59,720 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:03:59,720 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-27 13:03:59,720 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-04-27 13:03:59,721 INFO L87 Difference]: Start difference. First operand 89 states and 122 transitions. Second operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 6 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-27 13:04:00,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:04:00,872 INFO L93 Difference]: Finished difference Result 132 states and 187 transitions. [2022-04-27 13:04:00,872 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-27 13:04:00,872 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 6 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) Word has length 75 [2022-04-27 13:04:00,872 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:04:00,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 6 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-27 13:04:00,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-27 13:04:00,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 6 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-27 13:04:00,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-27 13:04:00,876 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-27 13:04:00,961 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:04:00,963 INFO L225 Difference]: With dead ends: 132 [2022-04-27 13:04:00,963 INFO L226 Difference]: Without dead ends: 128 [2022-04-27 13:04:00,964 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 157 GetRequests, 141 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=58, Invalid=214, Unknown=0, NotChecked=0, Total=272 [2022-04-27 13:04:00,964 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 30 mSDsluCounter, 209 mSDsCounter, 0 mSdLazyCounter, 349 mSolverCounterSat, 42 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 255 SdHoareTripleChecker+Invalid, 391 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 42 IncrementalHoareTripleChecker+Valid, 349 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:04:00,964 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 255 Invalid, 391 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [42 Valid, 349 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 13:04:00,965 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-27 13:04:01,053 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 96. [2022-04-27 13:04:01,053 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:04:01,053 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 96 states, 51 states have (on average 1.1764705882352942) internal successors, (60), 53 states have internal predecessors, (60), 36 states have call successors, (36), 9 states have call predecessors, (36), 8 states have return successors, (34), 33 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:04:01,053 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 96 states, 51 states have (on average 1.1764705882352942) internal successors, (60), 53 states have internal predecessors, (60), 36 states have call successors, (36), 9 states have call predecessors, (36), 8 states have return successors, (34), 33 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:04:01,054 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 96 states, 51 states have (on average 1.1764705882352942) internal successors, (60), 53 states have internal predecessors, (60), 36 states have call successors, (36), 9 states have call predecessors, (36), 8 states have return successors, (34), 33 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:04:01,057 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:04:01,057 INFO L93 Difference]: Finished difference Result 128 states and 181 transitions. [2022-04-27 13:04:01,057 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 181 transitions. [2022-04-27 13:04:01,058 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:04:01,058 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:04:01,058 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 51 states have (on average 1.1764705882352942) internal successors, (60), 53 states have internal predecessors, (60), 36 states have call successors, (36), 9 states have call predecessors, (36), 8 states have return successors, (34), 33 states have call predecessors, (34), 34 states have call successors, (34) Second operand 128 states. [2022-04-27 13:04:01,059 INFO L87 Difference]: Start difference. First operand has 96 states, 51 states have (on average 1.1764705882352942) internal successors, (60), 53 states have internal predecessors, (60), 36 states have call successors, (36), 9 states have call predecessors, (36), 8 states have return successors, (34), 33 states have call predecessors, (34), 34 states have call successors, (34) Second operand 128 states. [2022-04-27 13:04:01,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:04:01,062 INFO L93 Difference]: Finished difference Result 128 states and 181 transitions. [2022-04-27 13:04:01,062 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 181 transitions. [2022-04-27 13:04:01,063 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:04:01,063 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:04:01,063 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:04:01,063 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:04:01,063 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 51 states have (on average 1.1764705882352942) internal successors, (60), 53 states have internal predecessors, (60), 36 states have call successors, (36), 9 states have call predecessors, (36), 8 states have return successors, (34), 33 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:04:01,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 130 transitions. [2022-04-27 13:04:01,066 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 130 transitions. Word has length 75 [2022-04-27 13:04:01,066 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:04:01,066 INFO L495 AbstractCegarLoop]: Abstraction has 96 states and 130 transitions. [2022-04-27 13:04:01,066 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 6 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-27 13:04:01,066 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 130 transitions. [2022-04-27 13:04:01,066 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-27 13:04:01,067 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:04:01,067 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:04:01,083 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 13:04:01,275 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 13:04:01,275 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:04:01,275 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:04:01,276 INFO L85 PathProgramCache]: Analyzing trace with hash -1245952186, now seen corresponding path program 2 times [2022-04-27 13:04:01,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:04:01,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1938958910] [2022-04-27 13:04:01,276 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:04:01,276 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:04:01,286 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:04:01,286 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1073552542] [2022-04-27 13:04:01,286 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:04:01,286 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:04:01,286 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:04:01,287 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 13:04:01,287 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 13:04:01,333 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:04:01,333 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:04:01,334 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-27 13:04:01,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:04:01,346 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:04:02,249 INFO L272 TraceCheckUtils]: 0: Hoare triple {4909#true} call ULTIMATE.init(); {4909#true} is VALID [2022-04-27 13:04:02,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {4909#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(11, 2);call #Ultimate.allocInit(12, 3); {4909#true} is VALID [2022-04-27 13:04:02,249 INFO L290 TraceCheckUtils]: 2: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:02,249 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4909#true} {4909#true} #103#return; {4909#true} is VALID [2022-04-27 13:04:02,249 INFO L272 TraceCheckUtils]: 4: Hoare triple {4909#true} call #t~ret6 := main(); {4909#true} is VALID [2022-04-27 13:04:02,249 INFO L290 TraceCheckUtils]: 5: Hoare triple {4909#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4909#true} is VALID [2022-04-27 13:04:02,249 INFO L272 TraceCheckUtils]: 6: Hoare triple {4909#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:02,249 INFO L290 TraceCheckUtils]: 7: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:02,249 INFO L290 TraceCheckUtils]: 8: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:02,249 INFO L290 TraceCheckUtils]: 9: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:02,249 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4909#true} {4909#true} #79#return; {4909#true} is VALID [2022-04-27 13:04:02,249 INFO L290 TraceCheckUtils]: 11: Hoare triple {4909#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4909#true} is VALID [2022-04-27 13:04:02,249 INFO L272 TraceCheckUtils]: 12: Hoare triple {4909#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:02,250 INFO L290 TraceCheckUtils]: 13: Hoare triple {4909#true} ~cond := #in~cond; {4953#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:04:02,250 INFO L290 TraceCheckUtils]: 14: Hoare triple {4953#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4957#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:04:02,250 INFO L290 TraceCheckUtils]: 15: Hoare triple {4957#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4957#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:04:02,251 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4957#(not (= |assume_abort_if_not_#in~cond| 0))} {4909#true} #81#return; {4964#(and (<= 0 main_~y~0) (<= main_~y~0 100))} is VALID [2022-04-27 13:04:02,251 INFO L272 TraceCheckUtils]: 17: Hoare triple {4964#(and (<= 0 main_~y~0) (<= main_~y~0 100))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:02,251 INFO L290 TraceCheckUtils]: 18: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:02,251 INFO L290 TraceCheckUtils]: 19: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:02,251 INFO L290 TraceCheckUtils]: 20: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:02,251 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4909#true} {4964#(and (<= 0 main_~y~0) (<= main_~y~0 100))} #83#return; {4964#(and (<= 0 main_~y~0) (<= main_~y~0 100))} is VALID [2022-04-27 13:04:02,251 INFO L272 TraceCheckUtils]: 22: Hoare triple {4964#(and (<= 0 main_~y~0) (<= main_~y~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:02,251 INFO L290 TraceCheckUtils]: 23: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:02,251 INFO L290 TraceCheckUtils]: 24: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:02,251 INFO L290 TraceCheckUtils]: 25: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:02,252 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4909#true} {4964#(and (<= 0 main_~y~0) (<= main_~y~0 100))} #85#return; {4964#(and (<= 0 main_~y~0) (<= main_~y~0 100))} is VALID [2022-04-27 13:04:02,252 INFO L290 TraceCheckUtils]: 27: Hoare triple {4964#(and (<= 0 main_~y~0) (<= main_~y~0 100))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {4998#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~y~0 100) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:02,252 INFO L272 TraceCheckUtils]: 28: Hoare triple {4998#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~y~0 100) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:02,252 INFO L290 TraceCheckUtils]: 29: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:02,252 INFO L290 TraceCheckUtils]: 30: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:02,252 INFO L290 TraceCheckUtils]: 31: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:02,253 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4909#true} {4998#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~y~0 100) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {4998#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~y~0 100) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:02,253 INFO L272 TraceCheckUtils]: 33: Hoare triple {4998#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~y~0 100) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:02,253 INFO L290 TraceCheckUtils]: 34: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:02,253 INFO L290 TraceCheckUtils]: 35: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:02,253 INFO L290 TraceCheckUtils]: 36: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:02,254 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4909#true} {4998#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~y~0 100) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {4998#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~y~0 100) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:02,254 INFO L290 TraceCheckUtils]: 38: Hoare triple {4998#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~y~0 100) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {4998#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~y~0 100) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:02,254 INFO L290 TraceCheckUtils]: 39: Hoare triple {4998#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~y~0 100) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5035#(and (<= 0 main_~y~0) (= main_~r~0 0) (not (= main_~y~0 0)) (= main_~k~0 0) (= main_~s~0 1) (<= main_~y~0 100) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:02,255 INFO L290 TraceCheckUtils]: 40: Hoare triple {5035#(and (<= 0 main_~y~0) (= main_~r~0 0) (not (= main_~y~0 0)) (= main_~k~0 0) (= main_~s~0 1) (<= main_~y~0 100) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {5035#(and (<= 0 main_~y~0) (= main_~r~0 0) (not (= main_~y~0 0)) (= main_~k~0 0) (= main_~s~0 1) (<= main_~y~0 100) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:02,255 INFO L272 TraceCheckUtils]: 41: Hoare triple {5035#(and (<= 0 main_~y~0) (= main_~r~0 0) (not (= main_~y~0 0)) (= main_~k~0 0) (= main_~s~0 1) (<= main_~y~0 100) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:02,255 INFO L290 TraceCheckUtils]: 42: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:02,255 INFO L290 TraceCheckUtils]: 43: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:02,255 INFO L290 TraceCheckUtils]: 44: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:02,256 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4909#true} {5035#(and (<= 0 main_~y~0) (= main_~r~0 0) (not (= main_~y~0 0)) (= main_~k~0 0) (= main_~s~0 1) (<= main_~y~0 100) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #91#return; {5035#(and (<= 0 main_~y~0) (= main_~r~0 0) (not (= main_~y~0 0)) (= main_~k~0 0) (= main_~s~0 1) (<= main_~y~0 100) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:02,256 INFO L272 TraceCheckUtils]: 46: Hoare triple {5035#(and (<= 0 main_~y~0) (= main_~r~0 0) (not (= main_~y~0 0)) (= main_~k~0 0) (= main_~s~0 1) (<= main_~y~0 100) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:02,256 INFO L290 TraceCheckUtils]: 47: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:02,256 INFO L290 TraceCheckUtils]: 48: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:02,256 INFO L290 TraceCheckUtils]: 49: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:02,256 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4909#true} {5035#(and (<= 0 main_~y~0) (= main_~r~0 0) (not (= main_~y~0 0)) (= main_~k~0 0) (= main_~s~0 1) (<= main_~y~0 100) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #93#return; {5035#(and (<= 0 main_~y~0) (= main_~r~0 0) (not (= main_~y~0 0)) (= main_~k~0 0) (= main_~s~0 1) (<= main_~y~0 100) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:02,256 INFO L272 TraceCheckUtils]: 51: Hoare triple {5035#(and (<= 0 main_~y~0) (= main_~r~0 0) (not (= main_~y~0 0)) (= main_~k~0 0) (= main_~s~0 1) (<= main_~y~0 100) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:02,256 INFO L290 TraceCheckUtils]: 52: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:02,256 INFO L290 TraceCheckUtils]: 53: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:02,257 INFO L290 TraceCheckUtils]: 54: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:02,257 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4909#true} {5035#(and (<= 0 main_~y~0) (= main_~r~0 0) (not (= main_~y~0 0)) (= main_~k~0 0) (= main_~s~0 1) (<= main_~y~0 100) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #95#return; {5035#(and (<= 0 main_~y~0) (= main_~r~0 0) (not (= main_~y~0 0)) (= main_~k~0 0) (= main_~s~0 1) (<= main_~y~0 100) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:02,257 INFO L272 TraceCheckUtils]: 56: Hoare triple {5035#(and (<= 0 main_~y~0) (= main_~r~0 0) (not (= main_~y~0 0)) (= main_~k~0 0) (= main_~s~0 1) (<= main_~y~0 100) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:02,257 INFO L290 TraceCheckUtils]: 57: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:02,257 INFO L290 TraceCheckUtils]: 58: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:02,257 INFO L290 TraceCheckUtils]: 59: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:02,258 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {4909#true} {5035#(and (<= 0 main_~y~0) (= main_~r~0 0) (not (= main_~y~0 0)) (= main_~k~0 0) (= main_~s~0 1) (<= main_~y~0 100) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #97#return; {5035#(and (<= 0 main_~y~0) (= main_~r~0 0) (not (= main_~y~0 0)) (= main_~k~0 0) (= main_~s~0 1) (<= main_~y~0 100) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:02,258 INFO L290 TraceCheckUtils]: 61: Hoare triple {5035#(and (<= 0 main_~y~0) (= main_~r~0 0) (not (= main_~y~0 0)) (= main_~k~0 0) (= main_~s~0 1) (<= main_~y~0 100) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {5035#(and (<= 0 main_~y~0) (= main_~r~0 0) (not (= main_~y~0 0)) (= main_~k~0 0) (= main_~s~0 1) (<= main_~y~0 100) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:02,259 INFO L290 TraceCheckUtils]: 62: Hoare triple {5035#(and (<= 0 main_~y~0) (= main_~r~0 0) (not (= main_~y~0 0)) (= main_~k~0 0) (= main_~s~0 1) (<= main_~y~0 100) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {5105#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (= main_~s~0 0) (= main_~b~0 main_~x~0) (<= main_~y~0 100) (= main_~q~0 1))} is VALID [2022-04-27 13:04:02,259 INFO L290 TraceCheckUtils]: 63: Hoare triple {5105#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (= main_~s~0 0) (= main_~b~0 main_~x~0) (<= main_~y~0 100) (= main_~q~0 1))} assume !false; {5105#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (= main_~s~0 0) (= main_~b~0 main_~x~0) (<= main_~y~0 100) (= main_~q~0 1))} is VALID [2022-04-27 13:04:02,259 INFO L290 TraceCheckUtils]: 64: Hoare triple {5105#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (= main_~s~0 0) (= main_~b~0 main_~x~0) (<= main_~y~0 100) (= main_~q~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5105#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (= main_~s~0 0) (= main_~b~0 main_~x~0) (<= main_~y~0 100) (= main_~q~0 1))} is VALID [2022-04-27 13:04:02,260 INFO L290 TraceCheckUtils]: 65: Hoare triple {5105#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (= main_~s~0 0) (= main_~b~0 main_~x~0) (<= main_~y~0 100) (= main_~q~0 1))} assume !false; {5105#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (= main_~s~0 0) (= main_~b~0 main_~x~0) (<= main_~y~0 100) (= main_~q~0 1))} is VALID [2022-04-27 13:04:02,260 INFO L272 TraceCheckUtils]: 66: Hoare triple {5105#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (= main_~s~0 0) (= main_~b~0 main_~x~0) (<= main_~y~0 100) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:02,260 INFO L290 TraceCheckUtils]: 67: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:02,260 INFO L290 TraceCheckUtils]: 68: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:02,260 INFO L290 TraceCheckUtils]: 69: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:02,260 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4909#true} {5105#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (= main_~s~0 0) (= main_~b~0 main_~x~0) (<= main_~y~0 100) (= main_~q~0 1))} #91#return; {5105#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (= main_~s~0 0) (= main_~b~0 main_~x~0) (<= main_~y~0 100) (= main_~q~0 1))} is VALID [2022-04-27 13:04:02,260 INFO L272 TraceCheckUtils]: 71: Hoare triple {5105#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (= main_~s~0 0) (= main_~b~0 main_~x~0) (<= main_~y~0 100) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:02,261 INFO L290 TraceCheckUtils]: 72: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:02,261 INFO L290 TraceCheckUtils]: 73: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:02,261 INFO L290 TraceCheckUtils]: 74: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:02,261 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4909#true} {5105#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (= main_~s~0 0) (= main_~b~0 main_~x~0) (<= main_~y~0 100) (= main_~q~0 1))} #93#return; {5105#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (= main_~s~0 0) (= main_~b~0 main_~x~0) (<= main_~y~0 100) (= main_~q~0 1))} is VALID [2022-04-27 13:04:02,280 INFO L272 TraceCheckUtils]: 76: Hoare triple {5105#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (= main_~s~0 0) (= main_~b~0 main_~x~0) (<= main_~y~0 100) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5148#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:04:02,280 INFO L290 TraceCheckUtils]: 77: Hoare triple {5148#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5152#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:04:02,281 INFO L290 TraceCheckUtils]: 78: Hoare triple {5152#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4910#false} is VALID [2022-04-27 13:04:02,281 INFO L290 TraceCheckUtils]: 79: Hoare triple {4910#false} assume !false; {4910#false} is VALID [2022-04-27 13:04:02,281 INFO L134 CoverageAnalysis]: Checked inductivity of 138 backedges. 15 proven. 18 refuted. 0 times theorem prover too weak. 105 trivial. 0 not checked. [2022-04-27 13:04:02,281 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:04:02,636 INFO L290 TraceCheckUtils]: 79: Hoare triple {4910#false} assume !false; {4910#false} is VALID [2022-04-27 13:04:02,636 INFO L290 TraceCheckUtils]: 78: Hoare triple {5152#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4910#false} is VALID [2022-04-27 13:04:02,636 INFO L290 TraceCheckUtils]: 77: Hoare triple {5148#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5152#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:04:02,637 INFO L272 TraceCheckUtils]: 76: Hoare triple {5168#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5148#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:04:02,637 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4909#true} {5168#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #93#return; {5168#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:04:02,637 INFO L290 TraceCheckUtils]: 74: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:02,637 INFO L290 TraceCheckUtils]: 73: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:02,638 INFO L290 TraceCheckUtils]: 72: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:02,638 INFO L272 TraceCheckUtils]: 71: Hoare triple {5168#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:02,638 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4909#true} {5168#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #91#return; {5168#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:04:02,638 INFO L290 TraceCheckUtils]: 69: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:02,638 INFO L290 TraceCheckUtils]: 68: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:02,638 INFO L290 TraceCheckUtils]: 67: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:02,638 INFO L272 TraceCheckUtils]: 66: Hoare triple {5168#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:02,639 INFO L290 TraceCheckUtils]: 65: Hoare triple {5168#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {5168#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:04:02,639 INFO L290 TraceCheckUtils]: 64: Hoare triple {5168#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5168#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:04:02,639 INFO L290 TraceCheckUtils]: 63: Hoare triple {5168#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {5168#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:04:04,640 WARN L290 TraceCheckUtils]: 62: Hoare triple {5211#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {5168#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-27 13:04:04,641 INFO L290 TraceCheckUtils]: 61: Hoare triple {5211#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} assume !(~c~0 >= ~b~0); {5211#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-27 13:04:04,642 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {4909#true} {5211#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} #97#return; {5211#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-27 13:04:04,642 INFO L290 TraceCheckUtils]: 59: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:04,642 INFO L290 TraceCheckUtils]: 58: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:04,642 INFO L290 TraceCheckUtils]: 57: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:04,642 INFO L272 TraceCheckUtils]: 56: Hoare triple {5211#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:04,643 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4909#true} {5211#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} #95#return; {5211#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-27 13:04:04,643 INFO L290 TraceCheckUtils]: 54: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:04,643 INFO L290 TraceCheckUtils]: 53: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:04,643 INFO L290 TraceCheckUtils]: 52: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:04,643 INFO L272 TraceCheckUtils]: 51: Hoare triple {5211#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:04,644 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4909#true} {5211#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} #93#return; {5211#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-27 13:04:04,644 INFO L290 TraceCheckUtils]: 49: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:04,644 INFO L290 TraceCheckUtils]: 48: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:04,644 INFO L290 TraceCheckUtils]: 47: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:04,644 INFO L272 TraceCheckUtils]: 46: Hoare triple {5211#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:04,645 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4909#true} {5211#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} #91#return; {5211#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-27 13:04:04,645 INFO L290 TraceCheckUtils]: 44: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:04,645 INFO L290 TraceCheckUtils]: 43: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:04,645 INFO L290 TraceCheckUtils]: 42: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:04,645 INFO L272 TraceCheckUtils]: 41: Hoare triple {5211#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:04,645 INFO L290 TraceCheckUtils]: 40: Hoare triple {5211#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} assume !false; {5211#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-27 13:04:04,646 INFO L290 TraceCheckUtils]: 39: Hoare triple {5281#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5211#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-27 13:04:04,646 INFO L290 TraceCheckUtils]: 38: Hoare triple {5281#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {5281#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:04:04,646 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4909#true} {5281#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #89#return; {5281#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:04:04,646 INFO L290 TraceCheckUtils]: 36: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:04,646 INFO L290 TraceCheckUtils]: 35: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:04,647 INFO L290 TraceCheckUtils]: 34: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:04,647 INFO L272 TraceCheckUtils]: 33: Hoare triple {5281#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:04,647 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4909#true} {5281#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #87#return; {5281#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:04:04,647 INFO L290 TraceCheckUtils]: 31: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:04,647 INFO L290 TraceCheckUtils]: 30: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:04,647 INFO L290 TraceCheckUtils]: 29: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:04,647 INFO L272 TraceCheckUtils]: 28: Hoare triple {5281#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:04,648 INFO L290 TraceCheckUtils]: 27: Hoare triple {4909#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {5281#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:04:04,648 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4909#true} {4909#true} #85#return; {4909#true} is VALID [2022-04-27 13:04:04,648 INFO L290 TraceCheckUtils]: 25: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:04,648 INFO L290 TraceCheckUtils]: 24: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:04,648 INFO L290 TraceCheckUtils]: 23: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:04,648 INFO L272 TraceCheckUtils]: 22: Hoare triple {4909#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:04,648 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4909#true} {4909#true} #83#return; {4909#true} is VALID [2022-04-27 13:04:04,648 INFO L290 TraceCheckUtils]: 20: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:04,648 INFO L290 TraceCheckUtils]: 19: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:04,648 INFO L290 TraceCheckUtils]: 18: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:04,648 INFO L272 TraceCheckUtils]: 17: Hoare triple {4909#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:04,648 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4909#true} {4909#true} #81#return; {4909#true} is VALID [2022-04-27 13:04:04,648 INFO L290 TraceCheckUtils]: 15: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:04,648 INFO L290 TraceCheckUtils]: 14: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:04,648 INFO L290 TraceCheckUtils]: 13: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:04,659 INFO L272 TraceCheckUtils]: 12: Hoare triple {4909#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:04,660 INFO L290 TraceCheckUtils]: 11: Hoare triple {4909#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4909#true} is VALID [2022-04-27 13:04:04,660 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4909#true} {4909#true} #79#return; {4909#true} is VALID [2022-04-27 13:04:04,660 INFO L290 TraceCheckUtils]: 9: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:04,660 INFO L290 TraceCheckUtils]: 8: Hoare triple {4909#true} assume !(0 == ~cond); {4909#true} is VALID [2022-04-27 13:04:04,660 INFO L290 TraceCheckUtils]: 7: Hoare triple {4909#true} ~cond := #in~cond; {4909#true} is VALID [2022-04-27 13:04:04,660 INFO L272 TraceCheckUtils]: 6: Hoare triple {4909#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4909#true} is VALID [2022-04-27 13:04:04,660 INFO L290 TraceCheckUtils]: 5: Hoare triple {4909#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4909#true} is VALID [2022-04-27 13:04:04,660 INFO L272 TraceCheckUtils]: 4: Hoare triple {4909#true} call #t~ret6 := main(); {4909#true} is VALID [2022-04-27 13:04:04,660 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4909#true} {4909#true} #103#return; {4909#true} is VALID [2022-04-27 13:04:04,660 INFO L290 TraceCheckUtils]: 2: Hoare triple {4909#true} assume true; {4909#true} is VALID [2022-04-27 13:04:04,660 INFO L290 TraceCheckUtils]: 1: Hoare triple {4909#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(11, 2);call #Ultimate.allocInit(12, 3); {4909#true} is VALID [2022-04-27 13:04:04,660 INFO L272 TraceCheckUtils]: 0: Hoare triple {4909#true} call ULTIMATE.init(); {4909#true} is VALID [2022-04-27 13:04:04,661 INFO L134 CoverageAnalysis]: Checked inductivity of 138 backedges. 12 proven. 6 refuted. 0 times theorem prover too weak. 120 trivial. 0 not checked. [2022-04-27 13:04:04,661 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:04:04,661 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1938958910] [2022-04-27 13:04:04,661 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:04:04,661 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1073552542] [2022-04-27 13:04:04,661 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1073552542] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:04:04,662 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:04:04,662 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 7] total 13 [2022-04-27 13:04:04,663 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1992942169] [2022-04-27 13:04:04,663 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:04:04,664 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 11 states have internal predecessors, (34), 8 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) Word has length 80 [2022-04-27 13:04:04,664 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:04:04,664 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 11 states have internal predecessors, (34), 8 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:04:04,765 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:04:04,765 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-27 13:04:04,765 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:04:04,765 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-27 13:04:04,765 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=126, Unknown=0, NotChecked=0, Total=156 [2022-04-27 13:04:04,765 INFO L87 Difference]: Start difference. First operand 96 states and 130 transitions. Second operand has 13 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 11 states have internal predecessors, (34), 8 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:04:08,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:04:08,449 INFO L93 Difference]: Finished difference Result 128 states and 169 transitions. [2022-04-27 13:04:08,450 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-27 13:04:08,450 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 11 states have internal predecessors, (34), 8 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) Word has length 80 [2022-04-27 13:04:08,450 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:04:08,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 11 states have internal predecessors, (34), 8 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:04:08,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 89 transitions. [2022-04-27 13:04:08,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 11 states have internal predecessors, (34), 8 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:04:08,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 89 transitions. [2022-04-27 13:04:08,465 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 89 transitions. [2022-04-27 13:04:08,870 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:04:08,872 INFO L225 Difference]: With dead ends: 128 [2022-04-27 13:04:08,872 INFO L226 Difference]: Without dead ends: 126 [2022-04-27 13:04:08,872 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 167 GetRequests, 147 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=88, Invalid=332, Unknown=0, NotChecked=0, Total=420 [2022-04-27 13:04:08,873 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 46 mSDsluCounter, 160 mSDsCounter, 0 mSdLazyCounter, 321 mSolverCounterSat, 86 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 199 SdHoareTripleChecker+Invalid, 407 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 86 IncrementalHoareTripleChecker+Valid, 321 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:04:08,873 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 199 Invalid, 407 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [86 Valid, 321 Invalid, 0 Unknown, 0 Unchecked, 2.0s Time] [2022-04-27 13:04:08,873 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states. [2022-04-27 13:04:09,016 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 108. [2022-04-27 13:04:09,016 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:04:09,019 INFO L82 GeneralOperation]: Start isEquivalent. First operand 126 states. Second operand has 108 states, 60 states have (on average 1.15) internal successors, (69), 62 states have internal predecessors, (69), 36 states have call successors, (36), 12 states have call predecessors, (36), 11 states have return successors, (34), 33 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:04:09,019 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand has 108 states, 60 states have (on average 1.15) internal successors, (69), 62 states have internal predecessors, (69), 36 states have call successors, (36), 12 states have call predecessors, (36), 11 states have return successors, (34), 33 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:04:09,019 INFO L87 Difference]: Start difference. First operand 126 states. Second operand has 108 states, 60 states have (on average 1.15) internal successors, (69), 62 states have internal predecessors, (69), 36 states have call successors, (36), 12 states have call predecessors, (36), 11 states have return successors, (34), 33 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:04:09,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:04:09,022 INFO L93 Difference]: Finished difference Result 126 states and 167 transitions. [2022-04-27 13:04:09,022 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 167 transitions. [2022-04-27 13:04:09,024 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:04:09,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:04:09,024 INFO L74 IsIncluded]: Start isIncluded. First operand has 108 states, 60 states have (on average 1.15) internal successors, (69), 62 states have internal predecessors, (69), 36 states have call successors, (36), 12 states have call predecessors, (36), 11 states have return successors, (34), 33 states have call predecessors, (34), 34 states have call successors, (34) Second operand 126 states. [2022-04-27 13:04:09,024 INFO L87 Difference]: Start difference. First operand has 108 states, 60 states have (on average 1.15) internal successors, (69), 62 states have internal predecessors, (69), 36 states have call successors, (36), 12 states have call predecessors, (36), 11 states have return successors, (34), 33 states have call predecessors, (34), 34 states have call successors, (34) Second operand 126 states. [2022-04-27 13:04:09,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:04:09,027 INFO L93 Difference]: Finished difference Result 126 states and 167 transitions. [2022-04-27 13:04:09,027 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 167 transitions. [2022-04-27 13:04:09,028 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:04:09,028 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:04:09,028 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:04:09,028 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:04:09,028 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 108 states, 60 states have (on average 1.15) internal successors, (69), 62 states have internal predecessors, (69), 36 states have call successors, (36), 12 states have call predecessors, (36), 11 states have return successors, (34), 33 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:04:09,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 108 states to 108 states and 139 transitions. [2022-04-27 13:04:09,030 INFO L78 Accepts]: Start accepts. Automaton has 108 states and 139 transitions. Word has length 80 [2022-04-27 13:04:09,031 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:04:09,031 INFO L495 AbstractCegarLoop]: Abstraction has 108 states and 139 transitions. [2022-04-27 13:04:09,031 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.6153846153846154) internal successors, (34), 11 states have internal predecessors, (34), 8 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:04:09,031 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 139 transitions. [2022-04-27 13:04:09,031 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-27 13:04:09,031 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:04:09,031 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:04:09,050 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 13:04:09,251 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 13:04:09,251 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:04:09,252 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:04:09,252 INFO L85 PathProgramCache]: Analyzing trace with hash 901388446, now seen corresponding path program 3 times [2022-04-27 13:04:09,252 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:04:09,252 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [836900220] [2022-04-27 13:04:09,252 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:04:09,252 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:04:09,273 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:04:09,273 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1037631287] [2022-04-27 13:04:09,273 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:04:09,274 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:04:09,274 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:04:09,279 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:04:09,280 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-27 13:04:09,321 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-04-27 13:04:09,321 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:04:09,322 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-27 13:04:09,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:04:09,338 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:04:13,161 INFO L272 TraceCheckUtils]: 0: Hoare triple {6034#true} call ULTIMATE.init(); {6034#true} is VALID [2022-04-27 13:04:13,161 INFO L290 TraceCheckUtils]: 1: Hoare triple {6034#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(11, 2);call #Ultimate.allocInit(12, 3); {6034#true} is VALID [2022-04-27 13:04:13,161 INFO L290 TraceCheckUtils]: 2: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-27 13:04:13,161 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6034#true} {6034#true} #103#return; {6034#true} is VALID [2022-04-27 13:04:13,161 INFO L272 TraceCheckUtils]: 4: Hoare triple {6034#true} call #t~ret6 := main(); {6034#true} is VALID [2022-04-27 13:04:13,161 INFO L290 TraceCheckUtils]: 5: Hoare triple {6034#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6034#true} is VALID [2022-04-27 13:04:13,161 INFO L272 TraceCheckUtils]: 6: Hoare triple {6034#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {6034#true} is VALID [2022-04-27 13:04:13,161 INFO L290 TraceCheckUtils]: 7: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-27 13:04:13,161 INFO L290 TraceCheckUtils]: 8: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-27 13:04:13,161 INFO L290 TraceCheckUtils]: 9: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-27 13:04:13,161 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6034#true} {6034#true} #79#return; {6034#true} is VALID [2022-04-27 13:04:13,161 INFO L290 TraceCheckUtils]: 11: Hoare triple {6034#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6034#true} is VALID [2022-04-27 13:04:13,161 INFO L272 TraceCheckUtils]: 12: Hoare triple {6034#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {6034#true} is VALID [2022-04-27 13:04:13,161 INFO L290 TraceCheckUtils]: 13: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-27 13:04:13,161 INFO L290 TraceCheckUtils]: 14: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-27 13:04:13,162 INFO L290 TraceCheckUtils]: 15: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-27 13:04:13,162 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6034#true} {6034#true} #81#return; {6034#true} is VALID [2022-04-27 13:04:13,162 INFO L272 TraceCheckUtils]: 17: Hoare triple {6034#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6034#true} is VALID [2022-04-27 13:04:13,162 INFO L290 TraceCheckUtils]: 18: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-27 13:04:13,162 INFO L290 TraceCheckUtils]: 19: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-27 13:04:13,162 INFO L290 TraceCheckUtils]: 20: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-27 13:04:13,162 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6034#true} {6034#true} #83#return; {6034#true} is VALID [2022-04-27 13:04:13,162 INFO L272 TraceCheckUtils]: 22: Hoare triple {6034#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6034#true} is VALID [2022-04-27 13:04:13,162 INFO L290 TraceCheckUtils]: 23: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-27 13:04:13,162 INFO L290 TraceCheckUtils]: 24: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-27 13:04:13,162 INFO L290 TraceCheckUtils]: 25: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-27 13:04:13,162 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6034#true} {6034#true} #85#return; {6034#true} is VALID [2022-04-27 13:04:13,162 INFO L290 TraceCheckUtils]: 27: Hoare triple {6034#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {6120#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:13,162 INFO L272 TraceCheckUtils]: 28: Hoare triple {6120#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {6034#true} is VALID [2022-04-27 13:04:13,163 INFO L290 TraceCheckUtils]: 29: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-27 13:04:13,163 INFO L290 TraceCheckUtils]: 30: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-27 13:04:13,163 INFO L290 TraceCheckUtils]: 31: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-27 13:04:13,163 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6034#true} {6120#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {6120#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:13,163 INFO L272 TraceCheckUtils]: 33: Hoare triple {6120#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {6034#true} is VALID [2022-04-27 13:04:13,163 INFO L290 TraceCheckUtils]: 34: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-27 13:04:13,163 INFO L290 TraceCheckUtils]: 35: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-27 13:04:13,163 INFO L290 TraceCheckUtils]: 36: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-27 13:04:13,164 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6034#true} {6120#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {6120#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:13,164 INFO L290 TraceCheckUtils]: 38: Hoare triple {6120#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {6120#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:13,165 INFO L290 TraceCheckUtils]: 39: Hoare triple {6120#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6157#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:13,165 INFO L290 TraceCheckUtils]: 40: Hoare triple {6157#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {6157#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:13,165 INFO L272 TraceCheckUtils]: 41: Hoare triple {6157#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6034#true} is VALID [2022-04-27 13:04:13,165 INFO L290 TraceCheckUtils]: 42: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-27 13:04:13,165 INFO L290 TraceCheckUtils]: 43: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-27 13:04:13,165 INFO L290 TraceCheckUtils]: 44: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-27 13:04:13,166 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6034#true} {6157#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #91#return; {6157#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:13,166 INFO L272 TraceCheckUtils]: 46: Hoare triple {6157#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6034#true} is VALID [2022-04-27 13:04:13,166 INFO L290 TraceCheckUtils]: 47: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-27 13:04:13,166 INFO L290 TraceCheckUtils]: 48: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-27 13:04:13,166 INFO L290 TraceCheckUtils]: 49: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-27 13:04:13,167 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6034#true} {6157#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #93#return; {6157#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:13,167 INFO L272 TraceCheckUtils]: 51: Hoare triple {6157#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6034#true} is VALID [2022-04-27 13:04:13,167 INFO L290 TraceCheckUtils]: 52: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-27 13:04:13,167 INFO L290 TraceCheckUtils]: 53: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-27 13:04:13,167 INFO L290 TraceCheckUtils]: 54: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-27 13:04:13,168 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6034#true} {6157#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #95#return; {6157#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:13,168 INFO L272 TraceCheckUtils]: 56: Hoare triple {6157#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {6034#true} is VALID [2022-04-27 13:04:13,168 INFO L290 TraceCheckUtils]: 57: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-27 13:04:13,168 INFO L290 TraceCheckUtils]: 58: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-27 13:04:13,168 INFO L290 TraceCheckUtils]: 59: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-27 13:04:13,168 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {6034#true} {6157#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #97#return; {6157#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:13,169 INFO L290 TraceCheckUtils]: 61: Hoare triple {6157#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {6157#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:04:13,169 INFO L290 TraceCheckUtils]: 62: Hoare triple {6157#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6227#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:04:13,170 INFO L290 TraceCheckUtils]: 63: Hoare triple {6227#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {6227#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:04:13,170 INFO L290 TraceCheckUtils]: 64: Hoare triple {6227#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6227#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:04:13,170 INFO L290 TraceCheckUtils]: 65: Hoare triple {6227#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {6227#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:04:13,170 INFO L272 TraceCheckUtils]: 66: Hoare triple {6227#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6034#true} is VALID [2022-04-27 13:04:13,170 INFO L290 TraceCheckUtils]: 67: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-27 13:04:13,170 INFO L290 TraceCheckUtils]: 68: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-27 13:04:13,171 INFO L290 TraceCheckUtils]: 69: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-27 13:04:13,171 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {6034#true} {6227#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #91#return; {6227#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:04:13,171 INFO L272 TraceCheckUtils]: 71: Hoare triple {6227#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6034#true} is VALID [2022-04-27 13:04:13,171 INFO L290 TraceCheckUtils]: 72: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-27 13:04:13,171 INFO L290 TraceCheckUtils]: 73: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-27 13:04:13,171 INFO L290 TraceCheckUtils]: 74: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-27 13:04:13,172 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6034#true} {6227#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #93#return; {6227#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:04:13,172 INFO L272 TraceCheckUtils]: 76: Hoare triple {6227#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6034#true} is VALID [2022-04-27 13:04:13,172 INFO L290 TraceCheckUtils]: 77: Hoare triple {6034#true} ~cond := #in~cond; {6273#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:04:13,173 INFO L290 TraceCheckUtils]: 78: Hoare triple {6273#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6277#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:04:13,173 INFO L290 TraceCheckUtils]: 79: Hoare triple {6277#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6277#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:04:13,173 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6277#(not (= |__VERIFIER_assert_#in~cond| 0))} {6227#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #95#return; {6227#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:04:13,188 INFO L272 TraceCheckUtils]: 81: Hoare triple {6227#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {6287#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:04:13,189 INFO L290 TraceCheckUtils]: 82: Hoare triple {6287#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6291#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:04:13,189 INFO L290 TraceCheckUtils]: 83: Hoare triple {6291#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6035#false} is VALID [2022-04-27 13:04:13,189 INFO L290 TraceCheckUtils]: 84: Hoare triple {6035#false} assume !false; {6035#false} is VALID [2022-04-27 13:04:13,189 INFO L134 CoverageAnalysis]: Checked inductivity of 165 backedges. 31 proven. 8 refuted. 0 times theorem prover too weak. 126 trivial. 0 not checked. [2022-04-27 13:04:13,189 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:05:04,860 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:05:04,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [836900220] [2022-04-27 13:05:04,860 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:05:04,861 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1037631287] [2022-04-27 13:05:04,861 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1037631287] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:05:04,861 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:05:04,861 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-27 13:05:04,861 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [426274096] [2022-04-27 13:05:04,861 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:05:04,861 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) Word has length 85 [2022-04-27 13:05:04,861 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:05:04,861 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-27 13:05:04,909 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:05:04,909 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:05:04,909 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:05:04,910 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:05:04,910 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:05:04,911 INFO L87 Difference]: Start difference. First operand 108 states and 139 transitions. Second operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-27 13:05:05,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:05:05,772 INFO L93 Difference]: Finished difference Result 144 states and 181 transitions. [2022-04-27 13:05:05,772 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:05:05,772 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) Word has length 85 [2022-04-27 13:05:05,772 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:05:05,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-27 13:05:05,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2022-04-27 13:05:05,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-27 13:05:05,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2022-04-27 13:05:05,774 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2022-04-27 13:05:05,870 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:05:05,872 INFO L225 Difference]: With dead ends: 144 [2022-04-27 13:05:05,872 INFO L226 Difference]: Without dead ends: 142 [2022-04-27 13:05:05,872 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=38, Invalid=144, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:05:05,872 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 19 mSDsluCounter, 169 mSDsCounter, 0 mSdLazyCounter, 277 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 208 SdHoareTripleChecker+Invalid, 287 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 277 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 13:05:05,873 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 208 Invalid, 287 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 277 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 13:05:05,873 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 142 states. [2022-04-27 13:05:06,020 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 142 to 139. [2022-04-27 13:05:06,020 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:05:06,020 INFO L82 GeneralOperation]: Start isEquivalent. First operand 142 states. Second operand has 139 states, 79 states have (on average 1.139240506329114) internal successors, (90), 81 states have internal predecessors, (90), 44 states have call successors, (44), 16 states have call predecessors, (44), 15 states have return successors, (42), 41 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 13:05:06,021 INFO L74 IsIncluded]: Start isIncluded. First operand 142 states. Second operand has 139 states, 79 states have (on average 1.139240506329114) internal successors, (90), 81 states have internal predecessors, (90), 44 states have call successors, (44), 16 states have call predecessors, (44), 15 states have return successors, (42), 41 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 13:05:06,021 INFO L87 Difference]: Start difference. First operand 142 states. Second operand has 139 states, 79 states have (on average 1.139240506329114) internal successors, (90), 81 states have internal predecessors, (90), 44 states have call successors, (44), 16 states have call predecessors, (44), 15 states have return successors, (42), 41 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 13:05:06,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:05:06,023 INFO L93 Difference]: Finished difference Result 142 states and 179 transitions. [2022-04-27 13:05:06,023 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 179 transitions. [2022-04-27 13:05:06,024 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:05:06,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:05:06,024 INFO L74 IsIncluded]: Start isIncluded. First operand has 139 states, 79 states have (on average 1.139240506329114) internal successors, (90), 81 states have internal predecessors, (90), 44 states have call successors, (44), 16 states have call predecessors, (44), 15 states have return successors, (42), 41 states have call predecessors, (42), 42 states have call successors, (42) Second operand 142 states. [2022-04-27 13:05:06,024 INFO L87 Difference]: Start difference. First operand has 139 states, 79 states have (on average 1.139240506329114) internal successors, (90), 81 states have internal predecessors, (90), 44 states have call successors, (44), 16 states have call predecessors, (44), 15 states have return successors, (42), 41 states have call predecessors, (42), 42 states have call successors, (42) Second operand 142 states. [2022-04-27 13:05:06,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:05:06,027 INFO L93 Difference]: Finished difference Result 142 states and 179 transitions. [2022-04-27 13:05:06,027 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 179 transitions. [2022-04-27 13:05:06,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:05:06,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:05:06,027 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:05:06,027 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:05:06,028 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 139 states, 79 states have (on average 1.139240506329114) internal successors, (90), 81 states have internal predecessors, (90), 44 states have call successors, (44), 16 states have call predecessors, (44), 15 states have return successors, (42), 41 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 13:05:06,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 176 transitions. [2022-04-27 13:05:06,030 INFO L78 Accepts]: Start accepts. Automaton has 139 states and 176 transitions. Word has length 85 [2022-04-27 13:05:06,030 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:05:06,030 INFO L495 AbstractCegarLoop]: Abstraction has 139 states and 176 transitions. [2022-04-27 13:05:06,030 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-27 13:05:06,031 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 176 transitions. [2022-04-27 13:05:06,031 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-27 13:05:06,031 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:05:06,031 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:05:06,047 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-27 13:05:06,247 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-27 13:05:06,247 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:05:06,247 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:05:06,247 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 1 times [2022-04-27 13:05:06,247 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:05:06,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [135431765] [2022-04-27 13:05:06,248 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:05:06,248 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:05:06,258 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:05:06,258 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [977161612] [2022-04-27 13:05:06,258 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:05:06,258 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:05:06,258 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:05:06,259 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:05:06,263 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-27 13:05:06,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:05:06,309 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-27 13:05:06,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:05:06,322 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:05:06,826 INFO L272 TraceCheckUtils]: 0: Hoare triple {7035#true} call ULTIMATE.init(); {7035#true} is VALID [2022-04-27 13:05:06,826 INFO L290 TraceCheckUtils]: 1: Hoare triple {7035#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(11, 2);call #Ultimate.allocInit(12, 3); {7035#true} is VALID [2022-04-27 13:05:06,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:06,826 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7035#true} {7035#true} #103#return; {7035#true} is VALID [2022-04-27 13:05:06,826 INFO L272 TraceCheckUtils]: 4: Hoare triple {7035#true} call #t~ret6 := main(); {7035#true} is VALID [2022-04-27 13:05:06,826 INFO L290 TraceCheckUtils]: 5: Hoare triple {7035#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7035#true} is VALID [2022-04-27 13:05:06,826 INFO L272 TraceCheckUtils]: 6: Hoare triple {7035#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:06,826 INFO L290 TraceCheckUtils]: 7: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:06,826 INFO L290 TraceCheckUtils]: 8: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:06,827 INFO L290 TraceCheckUtils]: 9: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:06,827 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7035#true} {7035#true} #79#return; {7035#true} is VALID [2022-04-27 13:05:06,827 INFO L290 TraceCheckUtils]: 11: Hoare triple {7035#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7035#true} is VALID [2022-04-27 13:05:06,827 INFO L272 TraceCheckUtils]: 12: Hoare triple {7035#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:06,827 INFO L290 TraceCheckUtils]: 13: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:06,827 INFO L290 TraceCheckUtils]: 14: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:06,827 INFO L290 TraceCheckUtils]: 15: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:06,827 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7035#true} {7035#true} #81#return; {7035#true} is VALID [2022-04-27 13:05:06,827 INFO L272 TraceCheckUtils]: 17: Hoare triple {7035#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:06,827 INFO L290 TraceCheckUtils]: 18: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:06,827 INFO L290 TraceCheckUtils]: 19: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:06,827 INFO L290 TraceCheckUtils]: 20: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:06,827 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7035#true} {7035#true} #83#return; {7035#true} is VALID [2022-04-27 13:05:06,827 INFO L272 TraceCheckUtils]: 22: Hoare triple {7035#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:06,827 INFO L290 TraceCheckUtils]: 23: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:06,827 INFO L290 TraceCheckUtils]: 24: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:06,827 INFO L290 TraceCheckUtils]: 25: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:06,827 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7035#true} {7035#true} #85#return; {7035#true} is VALID [2022-04-27 13:05:06,828 INFO L290 TraceCheckUtils]: 27: Hoare triple {7035#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {7121#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:05:06,828 INFO L272 TraceCheckUtils]: 28: Hoare triple {7121#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:06,828 INFO L290 TraceCheckUtils]: 29: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:06,828 INFO L290 TraceCheckUtils]: 30: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:06,828 INFO L290 TraceCheckUtils]: 31: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:06,829 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7035#true} {7121#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {7121#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:05:06,829 INFO L272 TraceCheckUtils]: 33: Hoare triple {7121#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:06,829 INFO L290 TraceCheckUtils]: 34: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:06,829 INFO L290 TraceCheckUtils]: 35: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:06,829 INFO L290 TraceCheckUtils]: 36: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:06,829 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7035#true} {7121#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {7121#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:05:06,830 INFO L290 TraceCheckUtils]: 38: Hoare triple {7121#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {7121#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:05:06,830 INFO L290 TraceCheckUtils]: 39: Hoare triple {7121#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7158#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:05:06,830 INFO L290 TraceCheckUtils]: 40: Hoare triple {7158#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {7158#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:05:06,830 INFO L272 TraceCheckUtils]: 41: Hoare triple {7158#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:06,831 INFO L290 TraceCheckUtils]: 42: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:06,831 INFO L290 TraceCheckUtils]: 43: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:06,831 INFO L290 TraceCheckUtils]: 44: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:06,836 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7035#true} {7158#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #91#return; {7158#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:05:06,836 INFO L272 TraceCheckUtils]: 46: Hoare triple {7158#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:06,836 INFO L290 TraceCheckUtils]: 47: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:06,836 INFO L290 TraceCheckUtils]: 48: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:06,836 INFO L290 TraceCheckUtils]: 49: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:06,837 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7035#true} {7158#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #93#return; {7158#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:05:06,837 INFO L272 TraceCheckUtils]: 51: Hoare triple {7158#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:06,837 INFO L290 TraceCheckUtils]: 52: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:06,837 INFO L290 TraceCheckUtils]: 53: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:06,837 INFO L290 TraceCheckUtils]: 54: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:06,837 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7035#true} {7158#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #95#return; {7158#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:05:06,838 INFO L272 TraceCheckUtils]: 56: Hoare triple {7158#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:06,838 INFO L290 TraceCheckUtils]: 57: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:06,838 INFO L290 TraceCheckUtils]: 58: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:06,838 INFO L290 TraceCheckUtils]: 59: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:06,838 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {7035#true} {7158#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #97#return; {7158#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:05:06,839 INFO L290 TraceCheckUtils]: 61: Hoare triple {7158#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {7225#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:05:06,839 INFO L290 TraceCheckUtils]: 62: Hoare triple {7225#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {7225#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:05:06,839 INFO L272 TraceCheckUtils]: 63: Hoare triple {7225#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:06,839 INFO L290 TraceCheckUtils]: 64: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:06,839 INFO L290 TraceCheckUtils]: 65: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:06,839 INFO L290 TraceCheckUtils]: 66: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:06,840 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7035#true} {7225#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {7225#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:05:06,840 INFO L272 TraceCheckUtils]: 68: Hoare triple {7225#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:06,840 INFO L290 TraceCheckUtils]: 69: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:06,840 INFO L290 TraceCheckUtils]: 70: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:06,840 INFO L290 TraceCheckUtils]: 71: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:06,841 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7035#true} {7225#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #93#return; {7225#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:05:06,841 INFO L272 TraceCheckUtils]: 73: Hoare triple {7225#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:06,841 INFO L290 TraceCheckUtils]: 74: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:06,841 INFO L290 TraceCheckUtils]: 75: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:06,841 INFO L290 TraceCheckUtils]: 76: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:06,841 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {7035#true} {7225#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #95#return; {7225#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:05:06,842 INFO L272 TraceCheckUtils]: 78: Hoare triple {7225#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:06,842 INFO L290 TraceCheckUtils]: 79: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:06,842 INFO L290 TraceCheckUtils]: 80: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:06,842 INFO L290 TraceCheckUtils]: 81: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:06,842 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {7035#true} {7225#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #97#return; {7225#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:05:06,843 INFO L290 TraceCheckUtils]: 83: Hoare triple {7225#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {7225#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:05:06,843 INFO L290 TraceCheckUtils]: 84: Hoare triple {7225#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7295#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-27 13:05:06,843 INFO L290 TraceCheckUtils]: 85: Hoare triple {7295#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !false; {7295#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-27 13:05:06,844 INFO L290 TraceCheckUtils]: 86: Hoare triple {7295#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !(0 != ~b~0); {7302#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) 0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-27 13:05:06,844 INFO L272 TraceCheckUtils]: 87: Hoare triple {7302#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) 0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {7306#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:05:06,845 INFO L290 TraceCheckUtils]: 88: Hoare triple {7306#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7310#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:05:06,845 INFO L290 TraceCheckUtils]: 89: Hoare triple {7310#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7036#false} is VALID [2022-04-27 13:05:06,845 INFO L290 TraceCheckUtils]: 90: Hoare triple {7036#false} assume !false; {7036#false} is VALID [2022-04-27 13:05:06,845 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 16 proven. 8 refuted. 0 times theorem prover too weak. 172 trivial. 0 not checked. [2022-04-27 13:05:06,845 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:05:07,384 INFO L290 TraceCheckUtils]: 90: Hoare triple {7036#false} assume !false; {7036#false} is VALID [2022-04-27 13:05:07,384 INFO L290 TraceCheckUtils]: 89: Hoare triple {7310#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7036#false} is VALID [2022-04-27 13:05:07,384 INFO L290 TraceCheckUtils]: 88: Hoare triple {7306#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7310#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:05:07,385 INFO L272 TraceCheckUtils]: 87: Hoare triple {7326#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {7306#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:05:07,385 INFO L290 TraceCheckUtils]: 86: Hoare triple {7330#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {7326#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-27 13:05:07,386 INFO L290 TraceCheckUtils]: 85: Hoare triple {7330#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !false; {7330#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-27 13:05:07,719 INFO L290 TraceCheckUtils]: 84: Hoare triple {7337#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7330#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-27 13:05:07,719 INFO L290 TraceCheckUtils]: 83: Hoare triple {7337#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !(~c~0 >= ~b~0); {7337#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 13:05:07,720 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {7035#true} {7337#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #97#return; {7337#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 13:05:07,720 INFO L290 TraceCheckUtils]: 81: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:07,720 INFO L290 TraceCheckUtils]: 80: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:07,720 INFO L290 TraceCheckUtils]: 79: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:07,720 INFO L272 TraceCheckUtils]: 78: Hoare triple {7337#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:07,721 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {7035#true} {7337#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #95#return; {7337#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 13:05:07,721 INFO L290 TraceCheckUtils]: 76: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:07,721 INFO L290 TraceCheckUtils]: 75: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:07,721 INFO L290 TraceCheckUtils]: 74: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:07,721 INFO L272 TraceCheckUtils]: 73: Hoare triple {7337#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:07,721 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7035#true} {7337#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #93#return; {7337#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 13:05:07,721 INFO L290 TraceCheckUtils]: 71: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:07,721 INFO L290 TraceCheckUtils]: 70: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:07,721 INFO L290 TraceCheckUtils]: 69: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:07,722 INFO L272 TraceCheckUtils]: 68: Hoare triple {7337#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:07,722 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7035#true} {7337#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #91#return; {7337#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 13:05:07,722 INFO L290 TraceCheckUtils]: 66: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:07,722 INFO L290 TraceCheckUtils]: 65: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:07,722 INFO L290 TraceCheckUtils]: 64: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:07,722 INFO L272 TraceCheckUtils]: 63: Hoare triple {7337#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:07,723 INFO L290 TraceCheckUtils]: 62: Hoare triple {7337#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !false; {7337#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 13:05:08,307 INFO L290 TraceCheckUtils]: 61: Hoare triple {7407#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {7337#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 13:05:08,307 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {7035#true} {7407#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #97#return; {7407#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-27 13:05:08,308 INFO L290 TraceCheckUtils]: 59: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:08,308 INFO L290 TraceCheckUtils]: 58: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:08,308 INFO L290 TraceCheckUtils]: 57: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:08,308 INFO L272 TraceCheckUtils]: 56: Hoare triple {7407#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:08,308 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7035#true} {7407#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #95#return; {7407#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-27 13:05:08,308 INFO L290 TraceCheckUtils]: 54: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:08,308 INFO L290 TraceCheckUtils]: 53: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:08,308 INFO L290 TraceCheckUtils]: 52: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:08,309 INFO L272 TraceCheckUtils]: 51: Hoare triple {7407#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:08,309 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7035#true} {7407#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #93#return; {7407#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-27 13:05:08,309 INFO L290 TraceCheckUtils]: 49: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:08,309 INFO L290 TraceCheckUtils]: 48: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:08,309 INFO L290 TraceCheckUtils]: 47: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:08,309 INFO L272 TraceCheckUtils]: 46: Hoare triple {7407#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:08,310 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7035#true} {7407#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #91#return; {7407#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-27 13:05:08,310 INFO L290 TraceCheckUtils]: 44: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:08,310 INFO L290 TraceCheckUtils]: 43: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:08,310 INFO L290 TraceCheckUtils]: 42: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:08,310 INFO L272 TraceCheckUtils]: 41: Hoare triple {7407#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:08,311 INFO L290 TraceCheckUtils]: 40: Hoare triple {7407#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} assume !false; {7407#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-27 13:05:08,311 INFO L290 TraceCheckUtils]: 39: Hoare triple {7474#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 main_~a~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7407#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-27 13:05:08,312 INFO L290 TraceCheckUtils]: 38: Hoare triple {7474#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 main_~a~0)))} assume !false; {7474#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-27 13:05:08,312 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7035#true} {7474#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 main_~a~0)))} #89#return; {7474#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-27 13:05:08,312 INFO L290 TraceCheckUtils]: 36: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:08,312 INFO L290 TraceCheckUtils]: 35: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:08,312 INFO L290 TraceCheckUtils]: 34: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:08,312 INFO L272 TraceCheckUtils]: 33: Hoare triple {7474#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 main_~a~0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:08,313 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7035#true} {7474#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 main_~a~0)))} #87#return; {7474#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-27 13:05:08,313 INFO L290 TraceCheckUtils]: 31: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:08,313 INFO L290 TraceCheckUtils]: 30: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:08,313 INFO L290 TraceCheckUtils]: 29: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:08,313 INFO L272 TraceCheckUtils]: 28: Hoare triple {7474#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 main_~a~0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:08,314 INFO L290 TraceCheckUtils]: 27: Hoare triple {7035#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {7474#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-27 13:05:08,314 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7035#true} {7035#true} #85#return; {7035#true} is VALID [2022-04-27 13:05:08,314 INFO L290 TraceCheckUtils]: 25: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:08,314 INFO L290 TraceCheckUtils]: 24: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:08,314 INFO L290 TraceCheckUtils]: 23: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:08,314 INFO L272 TraceCheckUtils]: 22: Hoare triple {7035#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:08,314 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7035#true} {7035#true} #83#return; {7035#true} is VALID [2022-04-27 13:05:08,314 INFO L290 TraceCheckUtils]: 20: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:08,314 INFO L290 TraceCheckUtils]: 19: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:08,314 INFO L290 TraceCheckUtils]: 18: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:08,314 INFO L272 TraceCheckUtils]: 17: Hoare triple {7035#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:08,314 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7035#true} {7035#true} #81#return; {7035#true} is VALID [2022-04-27 13:05:08,314 INFO L290 TraceCheckUtils]: 15: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:08,314 INFO L290 TraceCheckUtils]: 14: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:08,314 INFO L290 TraceCheckUtils]: 13: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:08,314 INFO L272 TraceCheckUtils]: 12: Hoare triple {7035#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:08,314 INFO L290 TraceCheckUtils]: 11: Hoare triple {7035#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7035#true} is VALID [2022-04-27 13:05:08,314 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7035#true} {7035#true} #79#return; {7035#true} is VALID [2022-04-27 13:05:08,314 INFO L290 TraceCheckUtils]: 9: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:08,315 INFO L290 TraceCheckUtils]: 8: Hoare triple {7035#true} assume !(0 == ~cond); {7035#true} is VALID [2022-04-27 13:05:08,315 INFO L290 TraceCheckUtils]: 7: Hoare triple {7035#true} ~cond := #in~cond; {7035#true} is VALID [2022-04-27 13:05:08,315 INFO L272 TraceCheckUtils]: 6: Hoare triple {7035#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {7035#true} is VALID [2022-04-27 13:05:08,315 INFO L290 TraceCheckUtils]: 5: Hoare triple {7035#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7035#true} is VALID [2022-04-27 13:05:08,315 INFO L272 TraceCheckUtils]: 4: Hoare triple {7035#true} call #t~ret6 := main(); {7035#true} is VALID [2022-04-27 13:05:08,315 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7035#true} {7035#true} #103#return; {7035#true} is VALID [2022-04-27 13:05:08,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {7035#true} assume true; {7035#true} is VALID [2022-04-27 13:05:08,315 INFO L290 TraceCheckUtils]: 1: Hoare triple {7035#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(11, 2);call #Ultimate.allocInit(12, 3); {7035#true} is VALID [2022-04-27 13:05:08,315 INFO L272 TraceCheckUtils]: 0: Hoare triple {7035#true} call ULTIMATE.init(); {7035#true} is VALID [2022-04-27 13:05:08,315 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 16 proven. 8 refuted. 0 times theorem prover too weak. 172 trivial. 0 not checked. [2022-04-27 13:05:08,315 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:05:08,315 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [135431765] [2022-04-27 13:05:08,315 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:05:08,315 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [977161612] [2022-04-27 13:05:08,315 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [977161612] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:05:08,316 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:05:08,316 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-27 13:05:08,316 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [798208342] [2022-04-27 13:05:08,316 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:05:08,316 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.75) internal successors, (33), 13 states have internal predecessors, (33), 9 states have call successors, (28), 2 states have call predecessors, (28), 1 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) Word has length 91 [2022-04-27 13:05:08,316 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:05:08,317 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.75) internal successors, (33), 13 states have internal predecessors, (33), 9 states have call successors, (28), 2 states have call predecessors, (28), 1 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-27 13:05:08,850 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:05:08,851 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-27 13:05:08,851 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:05:08,851 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-27 13:05:08,851 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=147, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:05:08,851 INFO L87 Difference]: Start difference. First operand 139 states and 176 transitions. Second operand has 14 states, 12 states have (on average 2.75) internal successors, (33), 13 states have internal predecessors, (33), 9 states have call successors, (28), 2 states have call predecessors, (28), 1 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-27 13:05:13,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:05:13,431 INFO L93 Difference]: Finished difference Result 228 states and 311 transitions. [2022-04-27 13:05:13,431 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-27 13:05:13,432 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.75) internal successors, (33), 13 states have internal predecessors, (33), 9 states have call successors, (28), 2 states have call predecessors, (28), 1 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) Word has length 91 [2022-04-27 13:05:13,432 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:05:13,432 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.75) internal successors, (33), 13 states have internal predecessors, (33), 9 states have call successors, (28), 2 states have call predecessors, (28), 1 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-27 13:05:13,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 176 transitions. [2022-04-27 13:05:13,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.75) internal successors, (33), 13 states have internal predecessors, (33), 9 states have call successors, (28), 2 states have call predecessors, (28), 1 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-27 13:05:13,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 176 transitions. [2022-04-27 13:05:13,437 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 176 transitions. [2022-04-27 13:05:16,353 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 176 edges. 175 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 13:05:16,357 INFO L225 Difference]: With dead ends: 228 [2022-04-27 13:05:16,357 INFO L226 Difference]: Without dead ends: 220 [2022-04-27 13:05:16,357 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 197 GetRequests, 168 SyntacticMatches, 1 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=178, Invalid=692, Unknown=0, NotChecked=0, Total=870 [2022-04-27 13:05:16,358 INFO L413 NwaCegarLoop]: 78 mSDtfsCounter, 50 mSDsluCounter, 259 mSDsCounter, 0 mSdLazyCounter, 598 mSolverCounterSat, 100 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 337 SdHoareTripleChecker+Invalid, 698 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 100 IncrementalHoareTripleChecker+Valid, 598 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-27 13:05:16,358 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [54 Valid, 337 Invalid, 698 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [100 Valid, 598 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-27 13:05:16,358 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 220 states. [2022-04-27 13:05:16,642 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 220 to 216. [2022-04-27 13:05:16,642 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:05:16,642 INFO L82 GeneralOperation]: Start isEquivalent. First operand 220 states. Second operand has 216 states, 116 states have (on average 1.1810344827586208) internal successors, (137), 117 states have internal predecessors, (137), 81 states have call successors, (81), 19 states have call predecessors, (81), 18 states have return successors, (79), 79 states have call predecessors, (79), 79 states have call successors, (79) [2022-04-27 13:05:16,642 INFO L74 IsIncluded]: Start isIncluded. First operand 220 states. Second operand has 216 states, 116 states have (on average 1.1810344827586208) internal successors, (137), 117 states have internal predecessors, (137), 81 states have call successors, (81), 19 states have call predecessors, (81), 18 states have return successors, (79), 79 states have call predecessors, (79), 79 states have call successors, (79) [2022-04-27 13:05:16,643 INFO L87 Difference]: Start difference. First operand 220 states. Second operand has 216 states, 116 states have (on average 1.1810344827586208) internal successors, (137), 117 states have internal predecessors, (137), 81 states have call successors, (81), 19 states have call predecessors, (81), 18 states have return successors, (79), 79 states have call predecessors, (79), 79 states have call successors, (79) [2022-04-27 13:05:16,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:05:16,647 INFO L93 Difference]: Finished difference Result 220 states and 301 transitions. [2022-04-27 13:05:16,647 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 301 transitions. [2022-04-27 13:05:16,648 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:05:16,648 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:05:16,648 INFO L74 IsIncluded]: Start isIncluded. First operand has 216 states, 116 states have (on average 1.1810344827586208) internal successors, (137), 117 states have internal predecessors, (137), 81 states have call successors, (81), 19 states have call predecessors, (81), 18 states have return successors, (79), 79 states have call predecessors, (79), 79 states have call successors, (79) Second operand 220 states. [2022-04-27 13:05:16,649 INFO L87 Difference]: Start difference. First operand has 216 states, 116 states have (on average 1.1810344827586208) internal successors, (137), 117 states have internal predecessors, (137), 81 states have call successors, (81), 19 states have call predecessors, (81), 18 states have return successors, (79), 79 states have call predecessors, (79), 79 states have call successors, (79) Second operand 220 states. [2022-04-27 13:05:16,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:05:16,653 INFO L93 Difference]: Finished difference Result 220 states and 301 transitions. [2022-04-27 13:05:16,653 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 301 transitions. [2022-04-27 13:05:16,654 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:05:16,654 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:05:16,654 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:05:16,654 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:05:16,654 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 216 states, 116 states have (on average 1.1810344827586208) internal successors, (137), 117 states have internal predecessors, (137), 81 states have call successors, (81), 19 states have call predecessors, (81), 18 states have return successors, (79), 79 states have call predecessors, (79), 79 states have call successors, (79) [2022-04-27 13:05:16,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 216 states to 216 states and 297 transitions. [2022-04-27 13:05:16,659 INFO L78 Accepts]: Start accepts. Automaton has 216 states and 297 transitions. Word has length 91 [2022-04-27 13:05:16,659 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:05:16,659 INFO L495 AbstractCegarLoop]: Abstraction has 216 states and 297 transitions. [2022-04-27 13:05:16,659 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.75) internal successors, (33), 13 states have internal predecessors, (33), 9 states have call successors, (28), 2 states have call predecessors, (28), 1 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-27 13:05:16,659 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 297 transitions. [2022-04-27 13:05:16,660 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 108 [2022-04-27 13:05:16,660 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:05:16,660 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 6, 6, 6, 3, 3, 3, 3, 3, 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, 1, 1, 1] [2022-04-27 13:05:16,684 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-27 13:05:16,876 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-27 13:05:16,878 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:05:16,878 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:05:16,878 INFO L85 PathProgramCache]: Analyzing trace with hash -428114403, now seen corresponding path program 1 times [2022-04-27 13:05:16,879 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:05:16,879 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2013833457] [2022-04-27 13:05:16,879 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:05:16,879 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:05:16,889 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:05:16,889 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1456095597] [2022-04-27 13:05:16,889 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:05:16,889 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:05:16,889 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:05:16,890 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:05:16,890 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-27 13:05:16,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:05:16,958 INFO L263 TraceCheckSpWp]: Trace formula consists of 264 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-27 13:05:16,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:05:16,993 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:05:17,828 INFO L272 TraceCheckUtils]: 0: Hoare triple {8765#true} call ULTIMATE.init(); {8765#true} is VALID [2022-04-27 13:05:17,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {8765#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(11, 2);call #Ultimate.allocInit(12, 3); {8765#true} is VALID [2022-04-27 13:05:17,828 INFO L290 TraceCheckUtils]: 2: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-27 13:05:17,828 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8765#true} {8765#true} #103#return; {8765#true} is VALID [2022-04-27 13:05:17,828 INFO L272 TraceCheckUtils]: 4: Hoare triple {8765#true} call #t~ret6 := main(); {8765#true} is VALID [2022-04-27 13:05:17,828 INFO L290 TraceCheckUtils]: 5: Hoare triple {8765#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8765#true} is VALID [2022-04-27 13:05:17,828 INFO L272 TraceCheckUtils]: 6: Hoare triple {8765#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {8765#true} is VALID [2022-04-27 13:05:17,828 INFO L290 TraceCheckUtils]: 7: Hoare triple {8765#true} ~cond := #in~cond; {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L290 TraceCheckUtils]: 8: Hoare triple {8765#true} assume !(0 == ~cond); {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L290 TraceCheckUtils]: 9: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8765#true} {8765#true} #79#return; {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L290 TraceCheckUtils]: 11: Hoare triple {8765#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L272 TraceCheckUtils]: 12: Hoare triple {8765#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L290 TraceCheckUtils]: 13: Hoare triple {8765#true} ~cond := #in~cond; {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L290 TraceCheckUtils]: 14: Hoare triple {8765#true} assume !(0 == ~cond); {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L290 TraceCheckUtils]: 15: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8765#true} {8765#true} #81#return; {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L272 TraceCheckUtils]: 17: Hoare triple {8765#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L290 TraceCheckUtils]: 18: Hoare triple {8765#true} ~cond := #in~cond; {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L290 TraceCheckUtils]: 19: Hoare triple {8765#true} assume !(0 == ~cond); {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L290 TraceCheckUtils]: 20: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8765#true} {8765#true} #83#return; {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L272 TraceCheckUtils]: 22: Hoare triple {8765#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L290 TraceCheckUtils]: 23: Hoare triple {8765#true} ~cond := #in~cond; {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L290 TraceCheckUtils]: 24: Hoare triple {8765#true} assume !(0 == ~cond); {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L290 TraceCheckUtils]: 25: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-27 13:05:17,829 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8765#true} {8765#true} #85#return; {8765#true} is VALID [2022-04-27 13:05:17,830 INFO L290 TraceCheckUtils]: 27: Hoare triple {8765#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {8851#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 13:05:17,830 INFO L272 TraceCheckUtils]: 28: Hoare triple {8851#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8765#true} is VALID [2022-04-27 13:05:17,830 INFO L290 TraceCheckUtils]: 29: Hoare triple {8765#true} ~cond := #in~cond; {8765#true} is VALID [2022-04-27 13:05:17,830 INFO L290 TraceCheckUtils]: 30: Hoare triple {8765#true} assume !(0 == ~cond); {8765#true} is VALID [2022-04-27 13:05:17,830 INFO L290 TraceCheckUtils]: 31: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-27 13:05:17,831 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8765#true} {8851#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #87#return; {8851#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 13:05:17,831 INFO L272 TraceCheckUtils]: 33: Hoare triple {8851#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8765#true} is VALID [2022-04-27 13:05:17,831 INFO L290 TraceCheckUtils]: 34: Hoare triple {8765#true} ~cond := #in~cond; {8765#true} is VALID [2022-04-27 13:05:17,831 INFO L290 TraceCheckUtils]: 35: Hoare triple {8765#true} assume !(0 == ~cond); {8765#true} is VALID [2022-04-27 13:05:17,831 INFO L290 TraceCheckUtils]: 36: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-27 13:05:17,832 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8765#true} {8851#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #89#return; {8851#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 13:05:17,832 INFO L290 TraceCheckUtils]: 38: Hoare triple {8851#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !false; {8851#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 13:05:17,833 INFO L290 TraceCheckUtils]: 39: Hoare triple {8851#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8888#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 13:05:17,833 INFO L290 TraceCheckUtils]: 40: Hoare triple {8888#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} assume !false; {8888#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 13:05:17,833 INFO L272 TraceCheckUtils]: 41: Hoare triple {8888#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8765#true} is VALID [2022-04-27 13:05:17,833 INFO L290 TraceCheckUtils]: 42: Hoare triple {8765#true} ~cond := #in~cond; {8765#true} is VALID [2022-04-27 13:05:17,833 INFO L290 TraceCheckUtils]: 43: Hoare triple {8765#true} assume !(0 == ~cond); {8765#true} is VALID [2022-04-27 13:05:17,833 INFO L290 TraceCheckUtils]: 44: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-27 13:05:17,834 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8765#true} {8888#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} #91#return; {8888#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 13:05:17,834 INFO L272 TraceCheckUtils]: 46: Hoare triple {8888#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8765#true} is VALID [2022-04-27 13:05:17,834 INFO L290 TraceCheckUtils]: 47: Hoare triple {8765#true} ~cond := #in~cond; {8765#true} is VALID [2022-04-27 13:05:17,834 INFO L290 TraceCheckUtils]: 48: Hoare triple {8765#true} assume !(0 == ~cond); {8765#true} is VALID [2022-04-27 13:05:17,834 INFO L290 TraceCheckUtils]: 49: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-27 13:05:17,835 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8765#true} {8888#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} #93#return; {8888#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 13:05:17,835 INFO L272 TraceCheckUtils]: 51: Hoare triple {8888#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8765#true} is VALID [2022-04-27 13:05:17,835 INFO L290 TraceCheckUtils]: 52: Hoare triple {8765#true} ~cond := #in~cond; {8765#true} is VALID [2022-04-27 13:05:17,835 INFO L290 TraceCheckUtils]: 53: Hoare triple {8765#true} assume !(0 == ~cond); {8765#true} is VALID [2022-04-27 13:05:17,835 INFO L290 TraceCheckUtils]: 54: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-27 13:05:17,836 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8765#true} {8888#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} #95#return; {8888#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 13:05:17,836 INFO L272 TraceCheckUtils]: 56: Hoare triple {8888#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8765#true} is VALID [2022-04-27 13:05:17,836 INFO L290 TraceCheckUtils]: 57: Hoare triple {8765#true} ~cond := #in~cond; {8765#true} is VALID [2022-04-27 13:05:17,836 INFO L290 TraceCheckUtils]: 58: Hoare triple {8765#true} assume !(0 == ~cond); {8765#true} is VALID [2022-04-27 13:05:17,836 INFO L290 TraceCheckUtils]: 59: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-27 13:05:17,837 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {8765#true} {8888#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} #97#return; {8888#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 13:05:17,838 INFO L290 TraceCheckUtils]: 61: Hoare triple {8888#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {8955#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:17,838 INFO L290 TraceCheckUtils]: 62: Hoare triple {8955#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {8955#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:17,838 INFO L272 TraceCheckUtils]: 63: Hoare triple {8955#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8765#true} is VALID [2022-04-27 13:05:17,838 INFO L290 TraceCheckUtils]: 64: Hoare triple {8765#true} ~cond := #in~cond; {8765#true} is VALID [2022-04-27 13:05:17,838 INFO L290 TraceCheckUtils]: 65: Hoare triple {8765#true} assume !(0 == ~cond); {8765#true} is VALID [2022-04-27 13:05:17,838 INFO L290 TraceCheckUtils]: 66: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-27 13:05:17,839 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8765#true} {8955#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #91#return; {8955#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:17,839 INFO L272 TraceCheckUtils]: 68: Hoare triple {8955#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8765#true} is VALID [2022-04-27 13:05:17,839 INFO L290 TraceCheckUtils]: 69: Hoare triple {8765#true} ~cond := #in~cond; {8765#true} is VALID [2022-04-27 13:05:17,839 INFO L290 TraceCheckUtils]: 70: Hoare triple {8765#true} assume !(0 == ~cond); {8765#true} is VALID [2022-04-27 13:05:17,839 INFO L290 TraceCheckUtils]: 71: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-27 13:05:17,840 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8765#true} {8955#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #93#return; {8955#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:17,840 INFO L272 TraceCheckUtils]: 73: Hoare triple {8955#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8765#true} is VALID [2022-04-27 13:05:17,840 INFO L290 TraceCheckUtils]: 74: Hoare triple {8765#true} ~cond := #in~cond; {8765#true} is VALID [2022-04-27 13:05:17,840 INFO L290 TraceCheckUtils]: 75: Hoare triple {8765#true} assume !(0 == ~cond); {8765#true} is VALID [2022-04-27 13:05:17,840 INFO L290 TraceCheckUtils]: 76: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-27 13:05:17,841 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {8765#true} {8955#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #95#return; {8955#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:17,841 INFO L272 TraceCheckUtils]: 78: Hoare triple {8955#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8765#true} is VALID [2022-04-27 13:05:17,841 INFO L290 TraceCheckUtils]: 79: Hoare triple {8765#true} ~cond := #in~cond; {8765#true} is VALID [2022-04-27 13:05:17,841 INFO L290 TraceCheckUtils]: 80: Hoare triple {8765#true} assume !(0 == ~cond); {8765#true} is VALID [2022-04-27 13:05:17,841 INFO L290 TraceCheckUtils]: 81: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-27 13:05:17,842 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {8765#true} {8955#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #97#return; {8955#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:17,842 INFO L290 TraceCheckUtils]: 83: Hoare triple {8955#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {8955#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:17,843 INFO L290 TraceCheckUtils]: 84: Hoare triple {8955#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {9025#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:17,843 INFO L290 TraceCheckUtils]: 85: Hoare triple {9025#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {9025#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:17,844 INFO L290 TraceCheckUtils]: 86: Hoare triple {9025#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9025#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:17,844 INFO L290 TraceCheckUtils]: 87: Hoare triple {9025#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {9025#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:17,844 INFO L272 TraceCheckUtils]: 88: Hoare triple {9025#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8765#true} is VALID [2022-04-27 13:05:17,844 INFO L290 TraceCheckUtils]: 89: Hoare triple {8765#true} ~cond := #in~cond; {8765#true} is VALID [2022-04-27 13:05:17,844 INFO L290 TraceCheckUtils]: 90: Hoare triple {8765#true} assume !(0 == ~cond); {8765#true} is VALID [2022-04-27 13:05:17,844 INFO L290 TraceCheckUtils]: 91: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-27 13:05:17,845 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8765#true} {9025#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #91#return; {9025#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:17,845 INFO L272 TraceCheckUtils]: 93: Hoare triple {9025#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8765#true} is VALID [2022-04-27 13:05:17,845 INFO L290 TraceCheckUtils]: 94: Hoare triple {8765#true} ~cond := #in~cond; {8765#true} is VALID [2022-04-27 13:05:17,845 INFO L290 TraceCheckUtils]: 95: Hoare triple {8765#true} assume !(0 == ~cond); {8765#true} is VALID [2022-04-27 13:05:17,845 INFO L290 TraceCheckUtils]: 96: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-27 13:05:17,845 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {8765#true} {9025#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #93#return; {9025#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:17,845 INFO L272 TraceCheckUtils]: 98: Hoare triple {9025#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8765#true} is VALID [2022-04-27 13:05:17,846 INFO L290 TraceCheckUtils]: 99: Hoare triple {8765#true} ~cond := #in~cond; {9071#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:05:17,846 INFO L290 TraceCheckUtils]: 100: Hoare triple {9071#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9075#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:05:17,846 INFO L290 TraceCheckUtils]: 101: Hoare triple {9075#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9075#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:05:17,847 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {9075#(not (= |__VERIFIER_assert_#in~cond| 0))} {9025#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #95#return; {9082#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:05:17,850 INFO L272 TraceCheckUtils]: 103: Hoare triple {9082#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9086#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:05:17,850 INFO L290 TraceCheckUtils]: 104: Hoare triple {9086#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9090#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:05:17,851 INFO L290 TraceCheckUtils]: 105: Hoare triple {9090#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8766#false} is VALID [2022-04-27 13:05:17,851 INFO L290 TraceCheckUtils]: 106: Hoare triple {8766#false} assume !false; {8766#false} is VALID [2022-04-27 13:05:17,851 INFO L134 CoverageAnalysis]: Checked inductivity of 320 backedges. 51 proven. 19 refuted. 0 times theorem prover too weak. 250 trivial. 0 not checked. [2022-04-27 13:05:17,851 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:06:12,486 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 13:06:12,964 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:06:12,964 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2013833457] [2022-04-27 13:06:12,964 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:06:12,964 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1456095597] [2022-04-27 13:06:12,964 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1456095597] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:06:12,964 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:06:12,964 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-27 13:06:12,964 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [630747920] [2022-04-27 13:06:12,964 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:06:12,964 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 6 states have call predecessors, (18), 5 states have call successors, (18) Word has length 107 [2022-04-27 13:06:12,965 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:06:12,965 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 6 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:06:13,024 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 13:06:13,024 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-27 13:06:13,024 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:06:13,024 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-27 13:06:13,025 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=164, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:06:13,025 INFO L87 Difference]: Start difference. First operand 216 states and 297 transitions. Second operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 6 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:06:15,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:15,023 INFO L93 Difference]: Finished difference Result 226 states and 306 transitions. [2022-04-27 13:06:15,023 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-27 13:06:15,023 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 6 states have call predecessors, (18), 5 states have call successors, (18) Word has length 107 [2022-04-27 13:06:15,024 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:06:15,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 6 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:06:15,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 108 transitions. [2022-04-27 13:06:15,025 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 6 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:06:15,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 108 transitions. [2022-04-27 13:06:15,026 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 108 transitions. [2022-04-27 13:06:15,147 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:06:15,151 INFO L225 Difference]: With dead ends: 226 [2022-04-27 13:06:15,151 INFO L226 Difference]: Without dead ends: 224 [2022-04-27 13:06:15,152 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 135 GetRequests, 117 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=73, Invalid=269, Unknown=0, NotChecked=0, Total=342 [2022-04-27 13:06:15,152 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 25 mSDsluCounter, 195 mSDsCounter, 0 mSdLazyCounter, 470 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 243 SdHoareTripleChecker+Invalid, 492 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 470 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-27 13:06:15,153 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 243 Invalid, 492 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 470 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-27 13:06:15,153 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-04-27 13:06:15,428 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 220. [2022-04-27 13:06:15,428 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:06:15,428 INFO L82 GeneralOperation]: Start isEquivalent. First operand 224 states. Second operand has 220 states, 119 states have (on average 1.1764705882352942) internal successors, (140), 120 states have internal predecessors, (140), 81 states have call successors, (81), 20 states have call predecessors, (81), 19 states have return successors, (79), 79 states have call predecessors, (79), 79 states have call successors, (79) [2022-04-27 13:06:15,429 INFO L74 IsIncluded]: Start isIncluded. First operand 224 states. Second operand has 220 states, 119 states have (on average 1.1764705882352942) internal successors, (140), 120 states have internal predecessors, (140), 81 states have call successors, (81), 20 states have call predecessors, (81), 19 states have return successors, (79), 79 states have call predecessors, (79), 79 states have call successors, (79) [2022-04-27 13:06:15,429 INFO L87 Difference]: Start difference. First operand 224 states. Second operand has 220 states, 119 states have (on average 1.1764705882352942) internal successors, (140), 120 states have internal predecessors, (140), 81 states have call successors, (81), 20 states have call predecessors, (81), 19 states have return successors, (79), 79 states have call predecessors, (79), 79 states have call successors, (79) [2022-04-27 13:06:15,433 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:15,434 INFO L93 Difference]: Finished difference Result 224 states and 304 transitions. [2022-04-27 13:06:15,434 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 304 transitions. [2022-04-27 13:06:15,434 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:06:15,434 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:06:15,435 INFO L74 IsIncluded]: Start isIncluded. First operand has 220 states, 119 states have (on average 1.1764705882352942) internal successors, (140), 120 states have internal predecessors, (140), 81 states have call successors, (81), 20 states have call predecessors, (81), 19 states have return successors, (79), 79 states have call predecessors, (79), 79 states have call successors, (79) Second operand 224 states. [2022-04-27 13:06:15,435 INFO L87 Difference]: Start difference. First operand has 220 states, 119 states have (on average 1.1764705882352942) internal successors, (140), 120 states have internal predecessors, (140), 81 states have call successors, (81), 20 states have call predecessors, (81), 19 states have return successors, (79), 79 states have call predecessors, (79), 79 states have call successors, (79) Second operand 224 states. [2022-04-27 13:06:15,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:15,443 INFO L93 Difference]: Finished difference Result 224 states and 304 transitions. [2022-04-27 13:06:15,443 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 304 transitions. [2022-04-27 13:06:15,444 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:06:15,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:06:15,444 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:06:15,444 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:06:15,444 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 220 states, 119 states have (on average 1.1764705882352942) internal successors, (140), 120 states have internal predecessors, (140), 81 states have call successors, (81), 20 states have call predecessors, (81), 19 states have return successors, (79), 79 states have call predecessors, (79), 79 states have call successors, (79) [2022-04-27 13:06:15,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 220 states to 220 states and 300 transitions. [2022-04-27 13:06:15,449 INFO L78 Accepts]: Start accepts. Automaton has 220 states and 300 transitions. Word has length 107 [2022-04-27 13:06:15,449 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:06:15,449 INFO L495 AbstractCegarLoop]: Abstraction has 220 states and 300 transitions. [2022-04-27 13:06:15,449 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 6 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:06:15,449 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 300 transitions. [2022-04-27 13:06:15,450 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-27 13:06:15,450 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:06:15,450 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 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 13:06:15,468 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-27 13:06:15,663 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-27 13:06:15,663 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:06:15,664 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:06:15,664 INFO L85 PathProgramCache]: Analyzing trace with hash -1979573154, now seen corresponding path program 4 times [2022-04-27 13:06:15,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:06:15,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [900377255] [2022-04-27 13:06:15,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:06:15,664 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:06:15,674 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:06:15,674 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1883247290] [2022-04-27 13:06:15,674 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 13:06:15,674 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:06:15,674 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:06:15,675 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:06:15,675 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-27 13:06:15,718 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 13:06:15,719 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:06:15,719 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 13:06:15,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:06:15,733 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:06:15,943 INFO L272 TraceCheckUtils]: 0: Hoare triple {10331#true} call ULTIMATE.init(); {10331#true} is VALID [2022-04-27 13:06:15,943 INFO L290 TraceCheckUtils]: 1: Hoare triple {10331#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(11, 2);call #Ultimate.allocInit(12, 3); {10331#true} is VALID [2022-04-27 13:06:15,943 INFO L290 TraceCheckUtils]: 2: Hoare triple {10331#true} assume true; {10331#true} is VALID [2022-04-27 13:06:15,943 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10331#true} {10331#true} #103#return; {10331#true} is VALID [2022-04-27 13:06:15,943 INFO L272 TraceCheckUtils]: 4: Hoare triple {10331#true} call #t~ret6 := main(); {10331#true} is VALID [2022-04-27 13:06:15,943 INFO L290 TraceCheckUtils]: 5: Hoare triple {10331#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {10331#true} is VALID [2022-04-27 13:06:15,943 INFO L272 TraceCheckUtils]: 6: Hoare triple {10331#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {10331#true} is VALID [2022-04-27 13:06:15,943 INFO L290 TraceCheckUtils]: 7: Hoare triple {10331#true} ~cond := #in~cond; {10331#true} is VALID [2022-04-27 13:06:15,943 INFO L290 TraceCheckUtils]: 8: Hoare triple {10331#true} assume !(0 == ~cond); {10331#true} is VALID [2022-04-27 13:06:15,943 INFO L290 TraceCheckUtils]: 9: Hoare triple {10331#true} assume true; {10331#true} is VALID [2022-04-27 13:06:15,943 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10331#true} {10331#true} #79#return; {10331#true} is VALID [2022-04-27 13:06:15,943 INFO L290 TraceCheckUtils]: 11: Hoare triple {10331#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10331#true} is VALID [2022-04-27 13:06:15,943 INFO L272 TraceCheckUtils]: 12: Hoare triple {10331#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {10331#true} is VALID [2022-04-27 13:06:15,943 INFO L290 TraceCheckUtils]: 13: Hoare triple {10331#true} ~cond := #in~cond; {10331#true} is VALID [2022-04-27 13:06:15,943 INFO L290 TraceCheckUtils]: 14: Hoare triple {10331#true} assume !(0 == ~cond); {10331#true} is VALID [2022-04-27 13:06:15,943 INFO L290 TraceCheckUtils]: 15: Hoare triple {10331#true} assume true; {10331#true} is VALID [2022-04-27 13:06:15,943 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10331#true} {10331#true} #81#return; {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L272 TraceCheckUtils]: 17: Hoare triple {10331#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L290 TraceCheckUtils]: 18: Hoare triple {10331#true} ~cond := #in~cond; {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L290 TraceCheckUtils]: 19: Hoare triple {10331#true} assume !(0 == ~cond); {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L290 TraceCheckUtils]: 20: Hoare triple {10331#true} assume true; {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10331#true} {10331#true} #83#return; {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L272 TraceCheckUtils]: 22: Hoare triple {10331#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L290 TraceCheckUtils]: 23: Hoare triple {10331#true} ~cond := #in~cond; {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L290 TraceCheckUtils]: 24: Hoare triple {10331#true} assume !(0 == ~cond); {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L290 TraceCheckUtils]: 25: Hoare triple {10331#true} assume true; {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10331#true} {10331#true} #85#return; {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L290 TraceCheckUtils]: 27: Hoare triple {10331#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L272 TraceCheckUtils]: 28: Hoare triple {10331#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L290 TraceCheckUtils]: 29: Hoare triple {10331#true} ~cond := #in~cond; {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L290 TraceCheckUtils]: 30: Hoare triple {10331#true} assume !(0 == ~cond); {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L290 TraceCheckUtils]: 31: Hoare triple {10331#true} assume true; {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10331#true} {10331#true} #87#return; {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L272 TraceCheckUtils]: 33: Hoare triple {10331#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L290 TraceCheckUtils]: 34: Hoare triple {10331#true} ~cond := #in~cond; {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L290 TraceCheckUtils]: 35: Hoare triple {10331#true} assume !(0 == ~cond); {10331#true} is VALID [2022-04-27 13:06:15,944 INFO L290 TraceCheckUtils]: 36: Hoare triple {10331#true} assume true; {10331#true} is VALID [2022-04-27 13:06:15,945 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10331#true} {10331#true} #89#return; {10331#true} is VALID [2022-04-27 13:06:15,945 INFO L290 TraceCheckUtils]: 38: Hoare triple {10331#true} assume !false; {10331#true} is VALID [2022-04-27 13:06:15,945 INFO L290 TraceCheckUtils]: 39: Hoare triple {10331#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10331#true} is VALID [2022-04-27 13:06:15,945 INFO L290 TraceCheckUtils]: 40: Hoare triple {10331#true} assume !false; {10331#true} is VALID [2022-04-27 13:06:15,945 INFO L272 TraceCheckUtils]: 41: Hoare triple {10331#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10331#true} is VALID [2022-04-27 13:06:15,945 INFO L290 TraceCheckUtils]: 42: Hoare triple {10331#true} ~cond := #in~cond; {10331#true} is VALID [2022-04-27 13:06:15,945 INFO L290 TraceCheckUtils]: 43: Hoare triple {10331#true} assume !(0 == ~cond); {10331#true} is VALID [2022-04-27 13:06:15,945 INFO L290 TraceCheckUtils]: 44: Hoare triple {10331#true} assume true; {10331#true} is VALID [2022-04-27 13:06:15,945 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {10331#true} {10331#true} #91#return; {10331#true} is VALID [2022-04-27 13:06:15,945 INFO L272 TraceCheckUtils]: 46: Hoare triple {10331#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10331#true} is VALID [2022-04-27 13:06:15,945 INFO L290 TraceCheckUtils]: 47: Hoare triple {10331#true} ~cond := #in~cond; {10331#true} is VALID [2022-04-27 13:06:15,945 INFO L290 TraceCheckUtils]: 48: Hoare triple {10331#true} assume !(0 == ~cond); {10331#true} is VALID [2022-04-27 13:06:15,945 INFO L290 TraceCheckUtils]: 49: Hoare triple {10331#true} assume true; {10331#true} is VALID [2022-04-27 13:06:15,945 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {10331#true} {10331#true} #93#return; {10331#true} is VALID [2022-04-27 13:06:15,945 INFO L272 TraceCheckUtils]: 51: Hoare triple {10331#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10331#true} is VALID [2022-04-27 13:06:15,945 INFO L290 TraceCheckUtils]: 52: Hoare triple {10331#true} ~cond := #in~cond; {10331#true} is VALID [2022-04-27 13:06:15,946 INFO L290 TraceCheckUtils]: 53: Hoare triple {10331#true} assume !(0 == ~cond); {10331#true} is VALID [2022-04-27 13:06:15,946 INFO L290 TraceCheckUtils]: 54: Hoare triple {10331#true} assume true; {10331#true} is VALID [2022-04-27 13:06:15,946 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {10331#true} {10331#true} #95#return; {10331#true} is VALID [2022-04-27 13:06:15,946 INFO L272 TraceCheckUtils]: 56: Hoare triple {10331#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {10331#true} is VALID [2022-04-27 13:06:15,946 INFO L290 TraceCheckUtils]: 57: Hoare triple {10331#true} ~cond := #in~cond; {10331#true} is VALID [2022-04-27 13:06:15,946 INFO L290 TraceCheckUtils]: 58: Hoare triple {10331#true} assume !(0 == ~cond); {10331#true} is VALID [2022-04-27 13:06:15,946 INFO L290 TraceCheckUtils]: 59: Hoare triple {10331#true} assume true; {10331#true} is VALID [2022-04-27 13:06:15,946 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {10331#true} {10331#true} #97#return; {10331#true} is VALID [2022-04-27 13:06:15,946 INFO L290 TraceCheckUtils]: 61: Hoare triple {10331#true} assume !(~c~0 >= ~b~0); {10519#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:06:15,946 INFO L290 TraceCheckUtils]: 62: Hoare triple {10519#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {10523#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 13:06:15,947 INFO L290 TraceCheckUtils]: 63: Hoare triple {10523#(< main_~b~0 main_~a~0)} assume !false; {10523#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 13:06:15,947 INFO L290 TraceCheckUtils]: 64: Hoare triple {10523#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10530#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:06:15,947 INFO L290 TraceCheckUtils]: 65: Hoare triple {10530#(< main_~b~0 main_~c~0)} assume !false; {10530#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:06:15,947 INFO L272 TraceCheckUtils]: 66: Hoare triple {10530#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10331#true} is VALID [2022-04-27 13:06:15,947 INFO L290 TraceCheckUtils]: 67: Hoare triple {10331#true} ~cond := #in~cond; {10331#true} is VALID [2022-04-27 13:06:15,947 INFO L290 TraceCheckUtils]: 68: Hoare triple {10331#true} assume !(0 == ~cond); {10331#true} is VALID [2022-04-27 13:06:15,947 INFO L290 TraceCheckUtils]: 69: Hoare triple {10331#true} assume true; {10331#true} is VALID [2022-04-27 13:06:15,948 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {10331#true} {10530#(< main_~b~0 main_~c~0)} #91#return; {10530#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:06:15,948 INFO L272 TraceCheckUtils]: 71: Hoare triple {10530#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10331#true} is VALID [2022-04-27 13:06:15,948 INFO L290 TraceCheckUtils]: 72: Hoare triple {10331#true} ~cond := #in~cond; {10331#true} is VALID [2022-04-27 13:06:15,948 INFO L290 TraceCheckUtils]: 73: Hoare triple {10331#true} assume !(0 == ~cond); {10331#true} is VALID [2022-04-27 13:06:15,948 INFO L290 TraceCheckUtils]: 74: Hoare triple {10331#true} assume true; {10331#true} is VALID [2022-04-27 13:06:15,949 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {10331#true} {10530#(< main_~b~0 main_~c~0)} #93#return; {10530#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:06:15,949 INFO L272 TraceCheckUtils]: 76: Hoare triple {10530#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10331#true} is VALID [2022-04-27 13:06:15,949 INFO L290 TraceCheckUtils]: 77: Hoare triple {10331#true} ~cond := #in~cond; {10331#true} is VALID [2022-04-27 13:06:15,962 INFO L290 TraceCheckUtils]: 78: Hoare triple {10331#true} assume !(0 == ~cond); {10331#true} is VALID [2022-04-27 13:06:15,962 INFO L290 TraceCheckUtils]: 79: Hoare triple {10331#true} assume true; {10331#true} is VALID [2022-04-27 13:06:15,962 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {10331#true} {10530#(< main_~b~0 main_~c~0)} #95#return; {10530#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:06:15,963 INFO L272 TraceCheckUtils]: 81: Hoare triple {10530#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {10331#true} is VALID [2022-04-27 13:06:15,963 INFO L290 TraceCheckUtils]: 82: Hoare triple {10331#true} ~cond := #in~cond; {10331#true} is VALID [2022-04-27 13:06:15,963 INFO L290 TraceCheckUtils]: 83: Hoare triple {10331#true} assume !(0 == ~cond); {10331#true} is VALID [2022-04-27 13:06:15,963 INFO L290 TraceCheckUtils]: 84: Hoare triple {10331#true} assume true; {10331#true} is VALID [2022-04-27 13:06:15,963 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {10331#true} {10530#(< main_~b~0 main_~c~0)} #97#return; {10530#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:06:15,964 INFO L290 TraceCheckUtils]: 86: Hoare triple {10530#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {10332#false} is VALID [2022-04-27 13:06:15,964 INFO L290 TraceCheckUtils]: 87: Hoare triple {10332#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {10332#false} is VALID [2022-04-27 13:06:15,964 INFO L290 TraceCheckUtils]: 88: Hoare triple {10332#false} assume !false; {10332#false} is VALID [2022-04-27 13:06:15,964 INFO L290 TraceCheckUtils]: 89: Hoare triple {10332#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10332#false} is VALID [2022-04-27 13:06:15,964 INFO L290 TraceCheckUtils]: 90: Hoare triple {10332#false} assume !false; {10332#false} is VALID [2022-04-27 13:06:15,964 INFO L272 TraceCheckUtils]: 91: Hoare triple {10332#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10332#false} is VALID [2022-04-27 13:06:15,964 INFO L290 TraceCheckUtils]: 92: Hoare triple {10332#false} ~cond := #in~cond; {10332#false} is VALID [2022-04-27 13:06:15,964 INFO L290 TraceCheckUtils]: 93: Hoare triple {10332#false} assume !(0 == ~cond); {10332#false} is VALID [2022-04-27 13:06:15,964 INFO L290 TraceCheckUtils]: 94: Hoare triple {10332#false} assume true; {10332#false} is VALID [2022-04-27 13:06:15,964 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {10332#false} {10332#false} #91#return; {10332#false} is VALID [2022-04-27 13:06:15,964 INFO L272 TraceCheckUtils]: 96: Hoare triple {10332#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10332#false} is VALID [2022-04-27 13:06:15,964 INFO L290 TraceCheckUtils]: 97: Hoare triple {10332#false} ~cond := #in~cond; {10332#false} is VALID [2022-04-27 13:06:15,964 INFO L290 TraceCheckUtils]: 98: Hoare triple {10332#false} assume !(0 == ~cond); {10332#false} is VALID [2022-04-27 13:06:15,964 INFO L290 TraceCheckUtils]: 99: Hoare triple {10332#false} assume true; {10332#false} is VALID [2022-04-27 13:06:15,964 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {10332#false} {10332#false} #93#return; {10332#false} is VALID [2022-04-27 13:06:15,964 INFO L272 TraceCheckUtils]: 101: Hoare triple {10332#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10332#false} is VALID [2022-04-27 13:06:15,964 INFO L290 TraceCheckUtils]: 102: Hoare triple {10332#false} ~cond := #in~cond; {10332#false} is VALID [2022-04-27 13:06:15,964 INFO L290 TraceCheckUtils]: 103: Hoare triple {10332#false} assume !(0 == ~cond); {10332#false} is VALID [2022-04-27 13:06:15,965 INFO L290 TraceCheckUtils]: 104: Hoare triple {10332#false} assume true; {10332#false} is VALID [2022-04-27 13:06:15,965 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {10332#false} {10332#false} #95#return; {10332#false} is VALID [2022-04-27 13:06:15,965 INFO L272 TraceCheckUtils]: 106: Hoare triple {10332#false} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {10332#false} is VALID [2022-04-27 13:06:15,965 INFO L290 TraceCheckUtils]: 107: Hoare triple {10332#false} ~cond := #in~cond; {10332#false} is VALID [2022-04-27 13:06:15,965 INFO L290 TraceCheckUtils]: 108: Hoare triple {10332#false} assume 0 == ~cond; {10332#false} is VALID [2022-04-27 13:06:15,965 INFO L290 TraceCheckUtils]: 109: Hoare triple {10332#false} assume !false; {10332#false} is VALID [2022-04-27 13:06:15,965 INFO L134 CoverageAnalysis]: Checked inductivity of 325 backedges. 135 proven. 0 refuted. 0 times theorem prover too weak. 190 trivial. 0 not checked. [2022-04-27 13:06:15,965 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:06:15,965 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:06:15,965 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [900377255] [2022-04-27 13:06:15,965 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:06:15,965 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1883247290] [2022-04-27 13:06:15,965 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1883247290] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:06:15,965 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:06:15,965 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:06:15,966 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1055946262] [2022-04-27 13:06:15,966 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:06:15,966 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 3 states have call predecessors, (18), 3 states have call successors, (18) Word has length 110 [2022-04-27 13:06:15,966 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:06:15,966 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 3 states have call predecessors, (18), 3 states have call successors, (18) [2022-04-27 13:06:16,017 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 13:06:16,018 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:06:16,018 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:06:16,018 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:06:16,018 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:06:16,018 INFO L87 Difference]: Start difference. First operand 220 states and 300 transitions. Second operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 3 states have call predecessors, (18), 3 states have call successors, (18) [2022-04-27 13:06:16,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:16,453 INFO L93 Difference]: Finished difference Result 281 states and 378 transitions. [2022-04-27 13:06:16,453 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 13:06:16,453 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 3 states have call predecessors, (18), 3 states have call successors, (18) Word has length 110 [2022-04-27 13:06:16,453 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:06:16,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 3 states have call predecessors, (18), 3 states have call successors, (18) [2022-04-27 13:06:16,454 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 90 transitions. [2022-04-27 13:06:16,454 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 3 states have call predecessors, (18), 3 states have call successors, (18) [2022-04-27 13:06:16,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 90 transitions. [2022-04-27 13:06:16,455 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 90 transitions. [2022-04-27 13:06:16,535 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:06:16,538 INFO L225 Difference]: With dead ends: 281 [2022-04-27 13:06:16,538 INFO L226 Difference]: Without dead ends: 201 [2022-04-27 13:06:16,539 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 111 GetRequests, 106 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-04-27 13:06:16,539 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 6 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 161 SdHoareTripleChecker+Invalid, 69 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:06:16,539 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 161 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 64 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:06:16,540 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 201 states. [2022-04-27 13:06:16,751 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 201 to 154. [2022-04-27 13:06:16,751 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:06:16,752 INFO L82 GeneralOperation]: Start isEquivalent. First operand 201 states. Second operand has 154 states, 84 states have (on average 1.130952380952381) internal successors, (95), 85 states have internal predecessors, (95), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:06:16,752 INFO L74 IsIncluded]: Start isIncluded. First operand 201 states. Second operand has 154 states, 84 states have (on average 1.130952380952381) internal successors, (95), 85 states have internal predecessors, (95), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:06:16,752 INFO L87 Difference]: Start difference. First operand 201 states. Second operand has 154 states, 84 states have (on average 1.130952380952381) internal successors, (95), 85 states have internal predecessors, (95), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:06:16,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:16,756 INFO L93 Difference]: Finished difference Result 201 states and 262 transitions. [2022-04-27 13:06:16,756 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 262 transitions. [2022-04-27 13:06:16,757 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:06:16,757 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:06:16,757 INFO L74 IsIncluded]: Start isIncluded. First operand has 154 states, 84 states have (on average 1.130952380952381) internal successors, (95), 85 states have internal predecessors, (95), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) Second operand 201 states. [2022-04-27 13:06:16,757 INFO L87 Difference]: Start difference. First operand has 154 states, 84 states have (on average 1.130952380952381) internal successors, (95), 85 states have internal predecessors, (95), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) Second operand 201 states. [2022-04-27 13:06:16,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:06:16,761 INFO L93 Difference]: Finished difference Result 201 states and 262 transitions. [2022-04-27 13:06:16,761 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 262 transitions. [2022-04-27 13:06:16,761 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:06:16,761 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:06:16,761 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:06:16,761 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:06:16,762 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 154 states, 84 states have (on average 1.130952380952381) internal successors, (95), 85 states have internal predecessors, (95), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:06:16,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 154 states to 154 states and 199 transitions. [2022-04-27 13:06:16,764 INFO L78 Accepts]: Start accepts. Automaton has 154 states and 199 transitions. Word has length 110 [2022-04-27 13:06:16,764 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:06:16,764 INFO L495 AbstractCegarLoop]: Abstraction has 154 states and 199 transitions. [2022-04-27 13:06:16,765 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 3 states have call predecessors, (18), 3 states have call successors, (18) [2022-04-27 13:06:16,765 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 199 transitions. [2022-04-27 13:06:16,765 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 130 [2022-04-27 13:06:16,765 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:06:16,765 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 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, 1, 1] [2022-04-27 13:06:16,782 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-27 13:06:16,981 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-27 13:06:16,981 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:06:16,982 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:06:16,982 INFO L85 PathProgramCache]: Analyzing trace with hash -2138166692, now seen corresponding path program 2 times [2022-04-27 13:06:16,982 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:06:16,982 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1476768695] [2022-04-27 13:06:16,982 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:06:16,982 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:06:16,992 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:06:16,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [803227264] [2022-04-27 13:06:16,992 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:06:16,992 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:06:16,992 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:06:16,993 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:06:16,994 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-27 13:06:17,075 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:06:17,075 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:06:17,077 INFO L263 TraceCheckSpWp]: Trace formula consists of 306 conjuncts, 71 conjunts are in the unsatisfiable core [2022-04-27 13:06:17,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:06:17,103 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:06:28,257 INFO L272 TraceCheckUtils]: 0: Hoare triple {11748#true} call ULTIMATE.init(); {11748#true} is VALID [2022-04-27 13:06:28,257 INFO L290 TraceCheckUtils]: 1: Hoare triple {11748#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(11, 2);call #Ultimate.allocInit(12, 3); {11748#true} is VALID [2022-04-27 13:06:28,257 INFO L290 TraceCheckUtils]: 2: Hoare triple {11748#true} assume true; {11748#true} is VALID [2022-04-27 13:06:28,257 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11748#true} {11748#true} #103#return; {11748#true} is VALID [2022-04-27 13:06:28,257 INFO L272 TraceCheckUtils]: 4: Hoare triple {11748#true} call #t~ret6 := main(); {11748#true} is VALID [2022-04-27 13:06:28,258 INFO L290 TraceCheckUtils]: 5: Hoare triple {11748#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11748#true} is VALID [2022-04-27 13:06:28,258 INFO L272 TraceCheckUtils]: 6: Hoare triple {11748#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,258 INFO L290 TraceCheckUtils]: 7: Hoare triple {11748#true} ~cond := #in~cond; {11748#true} is VALID [2022-04-27 13:06:28,258 INFO L290 TraceCheckUtils]: 8: Hoare triple {11748#true} assume !(0 == ~cond); {11748#true} is VALID [2022-04-27 13:06:28,258 INFO L290 TraceCheckUtils]: 9: Hoare triple {11748#true} assume true; {11748#true} is VALID [2022-04-27 13:06:28,258 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11748#true} {11748#true} #79#return; {11748#true} is VALID [2022-04-27 13:06:28,258 INFO L290 TraceCheckUtils]: 11: Hoare triple {11748#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11748#true} is VALID [2022-04-27 13:06:28,258 INFO L272 TraceCheckUtils]: 12: Hoare triple {11748#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,258 INFO L290 TraceCheckUtils]: 13: Hoare triple {11748#true} ~cond := #in~cond; {11748#true} is VALID [2022-04-27 13:06:28,258 INFO L290 TraceCheckUtils]: 14: Hoare triple {11748#true} assume !(0 == ~cond); {11748#true} is VALID [2022-04-27 13:06:28,258 INFO L290 TraceCheckUtils]: 15: Hoare triple {11748#true} assume true; {11748#true} is VALID [2022-04-27 13:06:28,258 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11748#true} {11748#true} #81#return; {11748#true} is VALID [2022-04-27 13:06:28,258 INFO L272 TraceCheckUtils]: 17: Hoare triple {11748#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,258 INFO L290 TraceCheckUtils]: 18: Hoare triple {11748#true} ~cond := #in~cond; {11807#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:06:28,259 INFO L290 TraceCheckUtils]: 19: Hoare triple {11807#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {11811#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:06:28,259 INFO L290 TraceCheckUtils]: 20: Hoare triple {11811#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11811#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:06:28,259 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11811#(not (= |assume_abort_if_not_#in~cond| 0))} {11748#true} #83#return; {11818#(<= 1 main_~x~0)} is VALID [2022-04-27 13:06:28,259 INFO L272 TraceCheckUtils]: 22: Hoare triple {11818#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,259 INFO L290 TraceCheckUtils]: 23: Hoare triple {11748#true} ~cond := #in~cond; {11748#true} is VALID [2022-04-27 13:06:28,259 INFO L290 TraceCheckUtils]: 24: Hoare triple {11748#true} assume !(0 == ~cond); {11748#true} is VALID [2022-04-27 13:06:28,259 INFO L290 TraceCheckUtils]: 25: Hoare triple {11748#true} assume true; {11748#true} is VALID [2022-04-27 13:06:28,260 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11748#true} {11818#(<= 1 main_~x~0)} #85#return; {11818#(<= 1 main_~x~0)} is VALID [2022-04-27 13:06:28,260 INFO L290 TraceCheckUtils]: 27: Hoare triple {11818#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {11837#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,260 INFO L272 TraceCheckUtils]: 28: Hoare triple {11837#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,260 INFO L290 TraceCheckUtils]: 29: Hoare triple {11748#true} ~cond := #in~cond; {11748#true} is VALID [2022-04-27 13:06:28,260 INFO L290 TraceCheckUtils]: 30: Hoare triple {11748#true} assume !(0 == ~cond); {11748#true} is VALID [2022-04-27 13:06:28,260 INFO L290 TraceCheckUtils]: 31: Hoare triple {11748#true} assume true; {11748#true} is VALID [2022-04-27 13:06:28,261 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11748#true} {11837#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {11837#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,261 INFO L272 TraceCheckUtils]: 33: Hoare triple {11837#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,261 INFO L290 TraceCheckUtils]: 34: Hoare triple {11748#true} ~cond := #in~cond; {11748#true} is VALID [2022-04-27 13:06:28,261 INFO L290 TraceCheckUtils]: 35: Hoare triple {11748#true} assume !(0 == ~cond); {11748#true} is VALID [2022-04-27 13:06:28,261 INFO L290 TraceCheckUtils]: 36: Hoare triple {11748#true} assume true; {11748#true} is VALID [2022-04-27 13:06:28,262 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {11748#true} {11837#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {11837#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,262 INFO L290 TraceCheckUtils]: 38: Hoare triple {11837#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {11837#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,263 INFO L290 TraceCheckUtils]: 39: Hoare triple {11837#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11874#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,263 INFO L290 TraceCheckUtils]: 40: Hoare triple {11874#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {11874#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,263 INFO L272 TraceCheckUtils]: 41: Hoare triple {11874#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,263 INFO L290 TraceCheckUtils]: 42: Hoare triple {11748#true} ~cond := #in~cond; {11748#true} is VALID [2022-04-27 13:06:28,263 INFO L290 TraceCheckUtils]: 43: Hoare triple {11748#true} assume !(0 == ~cond); {11748#true} is VALID [2022-04-27 13:06:28,263 INFO L290 TraceCheckUtils]: 44: Hoare triple {11748#true} assume true; {11748#true} is VALID [2022-04-27 13:06:28,264 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11748#true} {11874#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {11874#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,264 INFO L272 TraceCheckUtils]: 46: Hoare triple {11874#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,264 INFO L290 TraceCheckUtils]: 47: Hoare triple {11748#true} ~cond := #in~cond; {11748#true} is VALID [2022-04-27 13:06:28,264 INFO L290 TraceCheckUtils]: 48: Hoare triple {11748#true} assume !(0 == ~cond); {11748#true} is VALID [2022-04-27 13:06:28,264 INFO L290 TraceCheckUtils]: 49: Hoare triple {11748#true} assume true; {11748#true} is VALID [2022-04-27 13:06:28,265 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11748#true} {11874#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #93#return; {11874#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,265 INFO L272 TraceCheckUtils]: 51: Hoare triple {11874#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,265 INFO L290 TraceCheckUtils]: 52: Hoare triple {11748#true} ~cond := #in~cond; {11748#true} is VALID [2022-04-27 13:06:28,265 INFO L290 TraceCheckUtils]: 53: Hoare triple {11748#true} assume !(0 == ~cond); {11748#true} is VALID [2022-04-27 13:06:28,265 INFO L290 TraceCheckUtils]: 54: Hoare triple {11748#true} assume true; {11748#true} is VALID [2022-04-27 13:06:28,266 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11748#true} {11874#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #95#return; {11874#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,266 INFO L272 TraceCheckUtils]: 56: Hoare triple {11874#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,266 INFO L290 TraceCheckUtils]: 57: Hoare triple {11748#true} ~cond := #in~cond; {11748#true} is VALID [2022-04-27 13:06:28,266 INFO L290 TraceCheckUtils]: 58: Hoare triple {11748#true} assume !(0 == ~cond); {11748#true} is VALID [2022-04-27 13:06:28,266 INFO L290 TraceCheckUtils]: 59: Hoare triple {11748#true} assume true; {11748#true} is VALID [2022-04-27 13:06:28,266 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {11748#true} {11874#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #97#return; {11874#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,267 INFO L290 TraceCheckUtils]: 61: Hoare triple {11874#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {11941#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,268 INFO L290 TraceCheckUtils]: 62: Hoare triple {11941#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {11941#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,268 INFO L272 TraceCheckUtils]: 63: Hoare triple {11941#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,268 INFO L290 TraceCheckUtils]: 64: Hoare triple {11748#true} ~cond := #in~cond; {11951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:06:28,268 INFO L290 TraceCheckUtils]: 65: Hoare triple {11951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:28,269 INFO L290 TraceCheckUtils]: 66: Hoare triple {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:28,269 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} {11941#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {11941#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,269 INFO L272 TraceCheckUtils]: 68: Hoare triple {11941#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,269 INFO L290 TraceCheckUtils]: 69: Hoare triple {11748#true} ~cond := #in~cond; {11748#true} is VALID [2022-04-27 13:06:28,270 INFO L290 TraceCheckUtils]: 70: Hoare triple {11748#true} assume !(0 == ~cond); {11748#true} is VALID [2022-04-27 13:06:28,270 INFO L290 TraceCheckUtils]: 71: Hoare triple {11748#true} assume true; {11748#true} is VALID [2022-04-27 13:06:28,270 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11748#true} {11941#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #93#return; {11941#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,270 INFO L272 TraceCheckUtils]: 73: Hoare triple {11941#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,270 INFO L290 TraceCheckUtils]: 74: Hoare triple {11748#true} ~cond := #in~cond; {11748#true} is VALID [2022-04-27 13:06:28,270 INFO L290 TraceCheckUtils]: 75: Hoare triple {11748#true} assume !(0 == ~cond); {11748#true} is VALID [2022-04-27 13:06:28,270 INFO L290 TraceCheckUtils]: 76: Hoare triple {11748#true} assume true; {11748#true} is VALID [2022-04-27 13:06:28,271 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {11748#true} {11941#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #95#return; {11941#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,271 INFO L272 TraceCheckUtils]: 78: Hoare triple {11941#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,271 INFO L290 TraceCheckUtils]: 79: Hoare triple {11748#true} ~cond := #in~cond; {11748#true} is VALID [2022-04-27 13:06:28,271 INFO L290 TraceCheckUtils]: 80: Hoare triple {11748#true} assume !(0 == ~cond); {11748#true} is VALID [2022-04-27 13:06:28,271 INFO L290 TraceCheckUtils]: 81: Hoare triple {11748#true} assume true; {11748#true} is VALID [2022-04-27 13:06:28,272 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {11748#true} {11941#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #97#return; {11941#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,273 INFO L290 TraceCheckUtils]: 83: Hoare triple {11941#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {12010#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,273 INFO L290 TraceCheckUtils]: 84: Hoare triple {12010#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} assume !false; {12010#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,273 INFO L272 TraceCheckUtils]: 85: Hoare triple {12010#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,274 INFO L290 TraceCheckUtils]: 86: Hoare triple {11748#true} ~cond := #in~cond; {11951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:06:28,274 INFO L290 TraceCheckUtils]: 87: Hoare triple {11951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:28,274 INFO L290 TraceCheckUtils]: 88: Hoare triple {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:28,276 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} {12010#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} #91#return; {12029#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,276 INFO L272 TraceCheckUtils]: 90: Hoare triple {12029#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,276 INFO L290 TraceCheckUtils]: 91: Hoare triple {11748#true} ~cond := #in~cond; {11748#true} is VALID [2022-04-27 13:06:28,276 INFO L290 TraceCheckUtils]: 92: Hoare triple {11748#true} assume !(0 == ~cond); {11748#true} is VALID [2022-04-27 13:06:28,276 INFO L290 TraceCheckUtils]: 93: Hoare triple {11748#true} assume true; {11748#true} is VALID [2022-04-27 13:06:28,277 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {11748#true} {12029#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #93#return; {12029#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,277 INFO L272 TraceCheckUtils]: 95: Hoare triple {12029#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,277 INFO L290 TraceCheckUtils]: 96: Hoare triple {11748#true} ~cond := #in~cond; {11951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:06:28,277 INFO L290 TraceCheckUtils]: 97: Hoare triple {11951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:28,277 INFO L290 TraceCheckUtils]: 98: Hoare triple {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:28,278 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} {12029#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #95#return; {12029#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,278 INFO L272 TraceCheckUtils]: 100: Hoare triple {12029#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,278 INFO L290 TraceCheckUtils]: 101: Hoare triple {11748#true} ~cond := #in~cond; {11951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:06:28,279 INFO L290 TraceCheckUtils]: 102: Hoare triple {11951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:28,279 INFO L290 TraceCheckUtils]: 103: Hoare triple {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:28,280 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} {12029#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #97#return; {12029#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,280 INFO L290 TraceCheckUtils]: 105: Hoare triple {12029#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {12078#(and (= main_~r~0 0) (< main_~c~0 main_~y~0) (= main_~s~0 1) (<= (* main_~y~0 2) (+ main_~c~0 (* main_~k~0 main_~y~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 (* main_~k~0 main_~y~0))) (= (* main_~y~0 2) (* main_~k~0 main_~y~0)) (= main_~p~0 1))} is VALID [2022-04-27 13:06:28,282 INFO L290 TraceCheckUtils]: 106: Hoare triple {12078#(and (= main_~r~0 0) (< main_~c~0 main_~y~0) (= main_~s~0 1) (<= (* main_~y~0 2) (+ main_~c~0 (* main_~k~0 main_~y~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 (* main_~k~0 main_~y~0))) (= (* main_~y~0 2) (* main_~k~0 main_~y~0)) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {12082#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:06:28,282 INFO L290 TraceCheckUtils]: 107: Hoare triple {12082#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {12082#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:06:28,283 INFO L290 TraceCheckUtils]: 108: Hoare triple {12082#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {12082#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:06:28,283 INFO L290 TraceCheckUtils]: 109: Hoare triple {12082#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {12082#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:06:28,283 INFO L272 TraceCheckUtils]: 110: Hoare triple {12082#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,284 INFO L290 TraceCheckUtils]: 111: Hoare triple {11748#true} ~cond := #in~cond; {11748#true} is VALID [2022-04-27 13:06:28,284 INFO L290 TraceCheckUtils]: 112: Hoare triple {11748#true} assume !(0 == ~cond); {11748#true} is VALID [2022-04-27 13:06:28,284 INFO L290 TraceCheckUtils]: 113: Hoare triple {11748#true} assume true; {11748#true} is VALID [2022-04-27 13:06:28,284 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {11748#true} {12082#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #91#return; {12082#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:06:28,284 INFO L272 TraceCheckUtils]: 115: Hoare triple {12082#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,284 INFO L290 TraceCheckUtils]: 116: Hoare triple {11748#true} ~cond := #in~cond; {11748#true} is VALID [2022-04-27 13:06:28,284 INFO L290 TraceCheckUtils]: 117: Hoare triple {11748#true} assume !(0 == ~cond); {11748#true} is VALID [2022-04-27 13:06:28,284 INFO L290 TraceCheckUtils]: 118: Hoare triple {11748#true} assume true; {11748#true} is VALID [2022-04-27 13:06:28,285 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {11748#true} {12082#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #93#return; {12082#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:06:28,285 INFO L272 TraceCheckUtils]: 120: Hoare triple {12082#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11748#true} is VALID [2022-04-27 13:06:28,285 INFO L290 TraceCheckUtils]: 121: Hoare triple {11748#true} ~cond := #in~cond; {11951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:06:28,286 INFO L290 TraceCheckUtils]: 122: Hoare triple {11951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:28,286 INFO L290 TraceCheckUtils]: 123: Hoare triple {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:06:28,286 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {11955#(not (= |__VERIFIER_assert_#in~cond| 0))} {12082#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #95#return; {12082#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:06:28,288 INFO L272 TraceCheckUtils]: 125: Hoare triple {12082#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {12140#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:06:28,289 INFO L290 TraceCheckUtils]: 126: Hoare triple {12140#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12144#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:06:28,289 INFO L290 TraceCheckUtils]: 127: Hoare triple {12144#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11749#false} is VALID [2022-04-27 13:06:28,289 INFO L290 TraceCheckUtils]: 128: Hoare triple {11749#false} assume !false; {11749#false} is VALID [2022-04-27 13:06:28,290 INFO L134 CoverageAnalysis]: Checked inductivity of 545 backedges. 142 proven. 88 refuted. 0 times theorem prover too weak. 315 trivial. 0 not checked. [2022-04-27 13:06:28,290 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:08:17,608 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 13:08:20,835 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:08:20,835 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1476768695] [2022-04-27 13:08:20,835 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:08:20,835 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [803227264] [2022-04-27 13:08:20,835 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [803227264] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:08:20,835 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:08:20,835 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-27 13:08:20,835 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1499822903] [2022-04-27 13:08:20,835 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:08:20,836 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 7 states have call predecessors, (22), 8 states have call successors, (22) Word has length 129 [2022-04-27 13:08:20,836 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:08:20,836 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 7 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-27 13:08:20,919 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:08:20,919 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-27 13:08:20,919 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:08:20,920 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-27 13:08:20,920 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=114, Invalid=437, Unknown=1, NotChecked=0, Total=552 [2022-04-27 13:08:20,925 INFO L87 Difference]: Start difference. First operand 154 states and 199 transitions. Second operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 7 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-27 13:08:26,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:08:26,723 INFO L93 Difference]: Finished difference Result 194 states and 250 transitions. [2022-04-27 13:08:26,723 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-27 13:08:26,723 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 7 states have call predecessors, (22), 8 states have call successors, (22) Word has length 129 [2022-04-27 13:08:26,723 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:08:26,723 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 7 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-27 13:08:26,724 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 113 transitions. [2022-04-27 13:08:26,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 7 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-27 13:08:26,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 113 transitions. [2022-04-27 13:08:26,726 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 113 transitions. [2022-04-27 13:08:26,865 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:08:26,868 INFO L225 Difference]: With dead ends: 194 [2022-04-27 13:08:26,868 INFO L226 Difference]: Without dead ends: 192 [2022-04-27 13:08:26,869 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 142 SyntacticMatches, 4 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 180 ImplicationChecksByTransitivity, 5.4s TimeCoverageRelationStatistics Valid=159, Invalid=652, Unknown=1, NotChecked=0, Total=812 [2022-04-27 13:08:26,869 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 36 mSDsluCounter, 187 mSDsCounter, 0 mSdLazyCounter, 738 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 777 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 738 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.5s IncrementalHoareTripleChecker+Time [2022-04-27 13:08:26,869 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 230 Invalid, 777 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 738 Invalid, 0 Unknown, 0 Unchecked, 2.5s Time] [2022-04-27 13:08:26,870 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 192 states. [2022-04-27 13:08:27,087 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 192 to 154. [2022-04-27 13:08:27,087 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:08:27,087 INFO L82 GeneralOperation]: Start isEquivalent. First operand 192 states. Second operand has 154 states, 84 states have (on average 1.130952380952381) internal successors, (95), 85 states have internal predecessors, (95), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:08:27,087 INFO L74 IsIncluded]: Start isIncluded. First operand 192 states. Second operand has 154 states, 84 states have (on average 1.130952380952381) internal successors, (95), 85 states have internal predecessors, (95), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:08:27,088 INFO L87 Difference]: Start difference. First operand 192 states. Second operand has 154 states, 84 states have (on average 1.130952380952381) internal successors, (95), 85 states have internal predecessors, (95), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:08:27,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:08:27,091 INFO L93 Difference]: Finished difference Result 192 states and 248 transitions. [2022-04-27 13:08:27,091 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 248 transitions. [2022-04-27 13:08:27,092 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:08:27,092 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:08:27,092 INFO L74 IsIncluded]: Start isIncluded. First operand has 154 states, 84 states have (on average 1.130952380952381) internal successors, (95), 85 states have internal predecessors, (95), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) Second operand 192 states. [2022-04-27 13:08:27,092 INFO L87 Difference]: Start difference. First operand has 154 states, 84 states have (on average 1.130952380952381) internal successors, (95), 85 states have internal predecessors, (95), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) Second operand 192 states. [2022-04-27 13:08:27,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:08:27,095 INFO L93 Difference]: Finished difference Result 192 states and 248 transitions. [2022-04-27 13:08:27,095 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 248 transitions. [2022-04-27 13:08:27,096 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:08:27,096 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:08:27,096 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:08:27,096 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:08:27,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 154 states, 84 states have (on average 1.130952380952381) internal successors, (95), 85 states have internal predecessors, (95), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:08:27,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 154 states to 154 states and 199 transitions. [2022-04-27 13:08:27,099 INFO L78 Accepts]: Start accepts. Automaton has 154 states and 199 transitions. Word has length 129 [2022-04-27 13:08:27,099 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:08:27,099 INFO L495 AbstractCegarLoop]: Abstraction has 154 states and 199 transitions. [2022-04-27 13:08:27,099 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 13 states have internal predecessors, (32), 8 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 7 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-27 13:08:27,099 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 199 transitions. [2022-04-27 13:08:27,100 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 133 [2022-04-27 13:08:27,100 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:08:27,100 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:08:27,116 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-27 13:08:27,316 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-27 13:08:27,316 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:08:27,317 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:08:27,317 INFO L85 PathProgramCache]: Analyzing trace with hash -1899875875, now seen corresponding path program 3 times [2022-04-27 13:08:27,317 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:08:27,317 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1664658558] [2022-04-27 13:08:27,317 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:08:27,317 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:08:27,329 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:08:27,329 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [584874087] [2022-04-27 13:08:27,329 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:08:27,329 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:08:27,329 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:08:27,330 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:08:27,337 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-27 13:08:27,397 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-04-27 13:08:27,397 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:08:27,398 INFO L263 TraceCheckSpWp]: Trace formula consists of 210 conjuncts, 69 conjunts are in the unsatisfiable core [2022-04-27 13:08:27,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:08:27,421 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:08:28,633 INFO L272 TraceCheckUtils]: 0: Hoare triple {13209#true} call ULTIMATE.init(); {13209#true} is VALID [2022-04-27 13:08:28,633 INFO L290 TraceCheckUtils]: 1: Hoare triple {13209#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(11, 2);call #Ultimate.allocInit(12, 3); {13209#true} is VALID [2022-04-27 13:08:28,633 INFO L290 TraceCheckUtils]: 2: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,633 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13209#true} {13209#true} #103#return; {13209#true} is VALID [2022-04-27 13:08:28,633 INFO L272 TraceCheckUtils]: 4: Hoare triple {13209#true} call #t~ret6 := main(); {13209#true} is VALID [2022-04-27 13:08:28,633 INFO L290 TraceCheckUtils]: 5: Hoare triple {13209#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {13209#true} is VALID [2022-04-27 13:08:28,633 INFO L272 TraceCheckUtils]: 6: Hoare triple {13209#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,633 INFO L290 TraceCheckUtils]: 7: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,633 INFO L290 TraceCheckUtils]: 8: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,633 INFO L290 TraceCheckUtils]: 9: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,633 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13209#true} {13209#true} #79#return; {13209#true} is VALID [2022-04-27 13:08:28,633 INFO L290 TraceCheckUtils]: 11: Hoare triple {13209#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13209#true} is VALID [2022-04-27 13:08:28,634 INFO L272 TraceCheckUtils]: 12: Hoare triple {13209#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,634 INFO L290 TraceCheckUtils]: 13: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,634 INFO L290 TraceCheckUtils]: 14: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,634 INFO L290 TraceCheckUtils]: 15: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,634 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13209#true} {13209#true} #81#return; {13209#true} is VALID [2022-04-27 13:08:28,634 INFO L272 TraceCheckUtils]: 17: Hoare triple {13209#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,634 INFO L290 TraceCheckUtils]: 18: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,634 INFO L290 TraceCheckUtils]: 19: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,634 INFO L290 TraceCheckUtils]: 20: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,634 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13209#true} {13209#true} #83#return; {13209#true} is VALID [2022-04-27 13:08:28,634 INFO L272 TraceCheckUtils]: 22: Hoare triple {13209#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,634 INFO L290 TraceCheckUtils]: 23: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,634 INFO L290 TraceCheckUtils]: 24: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,634 INFO L290 TraceCheckUtils]: 25: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,634 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13209#true} {13209#true} #85#return; {13209#true} is VALID [2022-04-27 13:08:28,635 INFO L290 TraceCheckUtils]: 27: Hoare triple {13209#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {13295#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:08:28,635 INFO L272 TraceCheckUtils]: 28: Hoare triple {13295#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,635 INFO L290 TraceCheckUtils]: 29: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,635 INFO L290 TraceCheckUtils]: 30: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,635 INFO L290 TraceCheckUtils]: 31: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,636 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13209#true} {13295#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {13295#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:08:28,636 INFO L272 TraceCheckUtils]: 33: Hoare triple {13295#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,636 INFO L290 TraceCheckUtils]: 34: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,636 INFO L290 TraceCheckUtils]: 35: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,636 INFO L290 TraceCheckUtils]: 36: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,636 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {13209#true} {13295#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {13295#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:08:28,637 INFO L290 TraceCheckUtils]: 38: Hoare triple {13295#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {13295#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:08:28,637 INFO L290 TraceCheckUtils]: 39: Hoare triple {13295#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13332#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:08:28,638 INFO L290 TraceCheckUtils]: 40: Hoare triple {13332#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {13332#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:08:28,638 INFO L272 TraceCheckUtils]: 41: Hoare triple {13332#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,638 INFO L290 TraceCheckUtils]: 42: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,638 INFO L290 TraceCheckUtils]: 43: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,638 INFO L290 TraceCheckUtils]: 44: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,639 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {13209#true} {13332#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #91#return; {13332#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:08:28,639 INFO L272 TraceCheckUtils]: 46: Hoare triple {13332#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,639 INFO L290 TraceCheckUtils]: 47: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,639 INFO L290 TraceCheckUtils]: 48: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,639 INFO L290 TraceCheckUtils]: 49: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,639 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13209#true} {13332#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #93#return; {13332#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:08:28,639 INFO L272 TraceCheckUtils]: 51: Hoare triple {13332#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,640 INFO L290 TraceCheckUtils]: 52: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,640 INFO L290 TraceCheckUtils]: 53: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,640 INFO L290 TraceCheckUtils]: 54: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,640 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {13209#true} {13332#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #95#return; {13332#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:08:28,640 INFO L272 TraceCheckUtils]: 56: Hoare triple {13332#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,640 INFO L290 TraceCheckUtils]: 57: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,640 INFO L290 TraceCheckUtils]: 58: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,640 INFO L290 TraceCheckUtils]: 59: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,641 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {13209#true} {13332#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #97#return; {13332#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:08:28,641 INFO L290 TraceCheckUtils]: 61: Hoare triple {13332#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {13332#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:08:28,642 INFO L290 TraceCheckUtils]: 62: Hoare triple {13332#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13402#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:08:28,642 INFO L290 TraceCheckUtils]: 63: Hoare triple {13402#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {13402#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:08:28,643 INFO L290 TraceCheckUtils]: 64: Hoare triple {13402#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13409#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:08:28,643 INFO L290 TraceCheckUtils]: 65: Hoare triple {13409#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {13409#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:08:28,643 INFO L272 TraceCheckUtils]: 66: Hoare triple {13409#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,643 INFO L290 TraceCheckUtils]: 67: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,643 INFO L290 TraceCheckUtils]: 68: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,643 INFO L290 TraceCheckUtils]: 69: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,644 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {13209#true} {13409#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #91#return; {13409#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:08:28,644 INFO L272 TraceCheckUtils]: 71: Hoare triple {13409#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,644 INFO L290 TraceCheckUtils]: 72: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,644 INFO L290 TraceCheckUtils]: 73: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,644 INFO L290 TraceCheckUtils]: 74: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,645 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {13209#true} {13409#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #93#return; {13409#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:08:28,645 INFO L272 TraceCheckUtils]: 76: Hoare triple {13409#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,645 INFO L290 TraceCheckUtils]: 77: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,645 INFO L290 TraceCheckUtils]: 78: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,645 INFO L290 TraceCheckUtils]: 79: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,646 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {13209#true} {13409#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #95#return; {13409#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:08:28,646 INFO L272 TraceCheckUtils]: 81: Hoare triple {13409#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,646 INFO L290 TraceCheckUtils]: 82: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,646 INFO L290 TraceCheckUtils]: 83: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,646 INFO L290 TraceCheckUtils]: 84: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,646 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {13209#true} {13409#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #97#return; {13409#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:08:28,647 INFO L290 TraceCheckUtils]: 86: Hoare triple {13409#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {13476#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-27 13:08:28,647 INFO L290 TraceCheckUtils]: 87: Hoare triple {13476#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !false; {13476#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-27 13:08:28,647 INFO L272 TraceCheckUtils]: 88: Hoare triple {13476#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,647 INFO L290 TraceCheckUtils]: 89: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,647 INFO L290 TraceCheckUtils]: 90: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,647 INFO L290 TraceCheckUtils]: 91: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,648 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {13209#true} {13476#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} #91#return; {13476#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-27 13:08:28,648 INFO L272 TraceCheckUtils]: 93: Hoare triple {13476#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,648 INFO L290 TraceCheckUtils]: 94: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,648 INFO L290 TraceCheckUtils]: 95: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,648 INFO L290 TraceCheckUtils]: 96: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,649 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {13209#true} {13476#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} #93#return; {13476#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-27 13:08:28,649 INFO L272 TraceCheckUtils]: 98: Hoare triple {13476#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,649 INFO L290 TraceCheckUtils]: 99: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,649 INFO L290 TraceCheckUtils]: 100: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,649 INFO L290 TraceCheckUtils]: 101: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,650 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {13209#true} {13476#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} #95#return; {13476#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-27 13:08:28,650 INFO L272 TraceCheckUtils]: 103: Hoare triple {13476#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,650 INFO L290 TraceCheckUtils]: 104: Hoare triple {13209#true} ~cond := #in~cond; {13531#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:08:28,650 INFO L290 TraceCheckUtils]: 105: Hoare triple {13531#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13535#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:08:28,651 INFO L290 TraceCheckUtils]: 106: Hoare triple {13535#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13535#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:08:28,651 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {13535#(not (= |__VERIFIER_assert_#in~cond| 0))} {13476#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} #97#return; {13476#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-27 13:08:28,652 INFO L290 TraceCheckUtils]: 108: Hoare triple {13476#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !(~c~0 >= ~b~0); {13476#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-27 13:08:28,652 INFO L290 TraceCheckUtils]: 109: Hoare triple {13476#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~y~0 (+ main_~c~0 main_~b~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13548#(and (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 13:08:28,652 INFO L290 TraceCheckUtils]: 110: Hoare triple {13548#(and (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !false; {13548#(and (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 13:08:28,653 INFO L290 TraceCheckUtils]: 111: Hoare triple {13548#(and (= main_~s~0 1) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13555#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:08:28,653 INFO L290 TraceCheckUtils]: 112: Hoare triple {13555#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {13555#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:08:28,653 INFO L272 TraceCheckUtils]: 113: Hoare triple {13555#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,653 INFO L290 TraceCheckUtils]: 114: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,653 INFO L290 TraceCheckUtils]: 115: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,653 INFO L290 TraceCheckUtils]: 116: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,654 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {13209#true} {13555#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #91#return; {13555#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:08:28,654 INFO L272 TraceCheckUtils]: 118: Hoare triple {13555#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,654 INFO L290 TraceCheckUtils]: 119: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:08:28,654 INFO L290 TraceCheckUtils]: 120: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:08:28,654 INFO L290 TraceCheckUtils]: 121: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:08:28,655 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {13209#true} {13555#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #93#return; {13555#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:08:28,655 INFO L272 TraceCheckUtils]: 123: Hoare triple {13555#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:08:28,655 INFO L290 TraceCheckUtils]: 124: Hoare triple {13209#true} ~cond := #in~cond; {13531#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:08:28,655 INFO L290 TraceCheckUtils]: 125: Hoare triple {13531#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13535#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:08:28,656 INFO L290 TraceCheckUtils]: 126: Hoare triple {13535#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13535#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:08:28,656 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {13535#(not (= |__VERIFIER_assert_#in~cond| 0))} {13555#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #95#return; {13555#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:08:28,658 INFO L272 TraceCheckUtils]: 128: Hoare triple {13555#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13607#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:08:28,658 INFO L290 TraceCheckUtils]: 129: Hoare triple {13607#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13611#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:08:28,658 INFO L290 TraceCheckUtils]: 130: Hoare triple {13611#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13210#false} is VALID [2022-04-27 13:08:28,659 INFO L290 TraceCheckUtils]: 131: Hoare triple {13210#false} assume !false; {13210#false} is VALID [2022-04-27 13:08:28,659 INFO L134 CoverageAnalysis]: Checked inductivity of 550 backedges. 100 proven. 48 refuted. 0 times theorem prover too weak. 402 trivial. 0 not checked. [2022-04-27 13:08:28,659 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:09:50,813 WARN L232 SmtUtils]: Spent 6.25s on a formula simplification that was a NOOP. DAG size: 39 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:09:57,177 INFO L290 TraceCheckUtils]: 131: Hoare triple {13210#false} assume !false; {13210#false} is VALID [2022-04-27 13:09:57,177 INFO L290 TraceCheckUtils]: 130: Hoare triple {13611#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13210#false} is VALID [2022-04-27 13:09:57,177 INFO L290 TraceCheckUtils]: 129: Hoare triple {13607#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13611#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:09:57,178 INFO L272 TraceCheckUtils]: 128: Hoare triple {13627#(= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13607#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:09:57,179 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {13535#(not (= |__VERIFIER_assert_#in~cond| 0))} {13631#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #95#return; {13627#(= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))} is VALID [2022-04-27 13:09:57,179 INFO L290 TraceCheckUtils]: 126: Hoare triple {13535#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13535#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:09:57,179 INFO L290 TraceCheckUtils]: 125: Hoare triple {13641#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13535#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:09:57,180 INFO L290 TraceCheckUtils]: 124: Hoare triple {13209#true} ~cond := #in~cond; {13641#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:09:57,180 INFO L272 TraceCheckUtils]: 123: Hoare triple {13631#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:09:57,180 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {13209#true} {13631#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #93#return; {13631#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:09:57,180 INFO L290 TraceCheckUtils]: 121: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:09:57,180 INFO L290 TraceCheckUtils]: 120: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:09:57,180 INFO L290 TraceCheckUtils]: 119: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:09:57,180 INFO L272 TraceCheckUtils]: 118: Hoare triple {13631#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:09:57,181 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {13209#true} {13631#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #91#return; {13631#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:09:57,181 INFO L290 TraceCheckUtils]: 116: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:09:57,181 INFO L290 TraceCheckUtils]: 115: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:09:57,181 INFO L290 TraceCheckUtils]: 114: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:09:57,181 INFO L272 TraceCheckUtils]: 113: Hoare triple {13631#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:09:57,182 INFO L290 TraceCheckUtils]: 112: Hoare triple {13631#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {13631#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:09:57,182 INFO L290 TraceCheckUtils]: 111: Hoare triple {13631#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13631#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:09:57,182 INFO L290 TraceCheckUtils]: 110: Hoare triple {13631#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {13631#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:09:59,184 WARN L290 TraceCheckUtils]: 109: Hoare triple {13687#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13631#(or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is UNKNOWN [2022-04-27 13:09:59,185 INFO L290 TraceCheckUtils]: 108: Hoare triple {13687#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} assume !(~c~0 >= ~b~0); {13687#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-27 13:09:59,186 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {13535#(not (= |__VERIFIER_assert_#in~cond| 0))} {13694#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} #97#return; {13687#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-27 13:09:59,186 INFO L290 TraceCheckUtils]: 106: Hoare triple {13535#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13535#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:09:59,186 INFO L290 TraceCheckUtils]: 105: Hoare triple {13641#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13535#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:09:59,187 INFO L290 TraceCheckUtils]: 104: Hoare triple {13209#true} ~cond := #in~cond; {13641#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:09:59,187 INFO L272 TraceCheckUtils]: 103: Hoare triple {13694#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:09:59,187 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {13209#true} {13694#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} #95#return; {13694#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-27 13:09:59,187 INFO L290 TraceCheckUtils]: 101: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:09:59,187 INFO L290 TraceCheckUtils]: 100: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:09:59,187 INFO L290 TraceCheckUtils]: 99: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:09:59,188 INFO L272 TraceCheckUtils]: 98: Hoare triple {13694#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:09:59,188 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {13209#true} {13694#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} #93#return; {13694#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-27 13:09:59,188 INFO L290 TraceCheckUtils]: 96: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:09:59,188 INFO L290 TraceCheckUtils]: 95: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:09:59,188 INFO L290 TraceCheckUtils]: 94: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:09:59,188 INFO L272 TraceCheckUtils]: 93: Hoare triple {13694#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:09:59,189 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {13209#true} {13694#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} #91#return; {13694#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-27 13:09:59,189 INFO L290 TraceCheckUtils]: 91: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:09:59,189 INFO L290 TraceCheckUtils]: 90: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:09:59,189 INFO L290 TraceCheckUtils]: 89: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:09:59,189 INFO L272 TraceCheckUtils]: 88: Hoare triple {13694#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:09:59,190 INFO L290 TraceCheckUtils]: 87: Hoare triple {13694#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} assume !false; {13694#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is VALID [2022-04-27 13:10:01,192 WARN L290 TraceCheckUtils]: 86: Hoare triple {13758#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {13694#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~y~0) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)))} is UNKNOWN [2022-04-27 13:10:01,193 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {13209#true} {13758#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))))} #97#return; {13758#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))))} is VALID [2022-04-27 13:10:01,193 INFO L290 TraceCheckUtils]: 84: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:10:01,193 INFO L290 TraceCheckUtils]: 83: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:10:01,193 INFO L290 TraceCheckUtils]: 82: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:10:01,193 INFO L272 TraceCheckUtils]: 81: Hoare triple {13758#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:10:01,193 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {13209#true} {13758#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))))} #95#return; {13758#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))))} is VALID [2022-04-27 13:10:01,194 INFO L290 TraceCheckUtils]: 79: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:10:01,194 INFO L290 TraceCheckUtils]: 78: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:10:01,194 INFO L290 TraceCheckUtils]: 77: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:10:01,194 INFO L272 TraceCheckUtils]: 76: Hoare triple {13758#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:10:01,194 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {13209#true} {13758#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))))} #93#return; {13758#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))))} is VALID [2022-04-27 13:10:01,194 INFO L290 TraceCheckUtils]: 74: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:10:01,194 INFO L290 TraceCheckUtils]: 73: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:10:01,195 INFO L290 TraceCheckUtils]: 72: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:10:01,195 INFO L272 TraceCheckUtils]: 71: Hoare triple {13758#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:10:01,195 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {13209#true} {13758#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))))} #91#return; {13758#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))))} is VALID [2022-04-27 13:10:01,195 INFO L290 TraceCheckUtils]: 69: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:10:01,195 INFO L290 TraceCheckUtils]: 68: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:10:01,195 INFO L290 TraceCheckUtils]: 67: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:10:01,195 INFO L272 TraceCheckUtils]: 66: Hoare triple {13758#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:10:01,196 INFO L290 TraceCheckUtils]: 65: Hoare triple {13758#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))))} assume !false; {13758#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))))} is VALID [2022-04-27 13:10:01,197 INFO L290 TraceCheckUtils]: 64: Hoare triple {13825#(or (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) main_~y~0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13758#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))) (* (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0)) main_~xy~0) (* (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))) main_~yy~0) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1)))))) (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (not (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0)))))} is VALID [2022-04-27 13:10:01,197 INFO L290 TraceCheckUtils]: 63: Hoare triple {13825#(or (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) main_~y~0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)))} assume !false; {13825#(or (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) main_~y~0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)))} is VALID [2022-04-27 13:10:03,200 WARN L290 TraceCheckUtils]: 62: Hoare triple {13832#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= main_~b~0 (+ (* (- 1) (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~q~0 main_~x~0) main_~c~0 (* (- 1) (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0) (* main_~y~0 main_~s~0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13825#(or (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~yy~0) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* main_~xy~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) main_~y~0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)))} is UNKNOWN [2022-04-27 13:10:03,201 INFO L290 TraceCheckUtils]: 61: Hoare triple {13832#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= main_~b~0 (+ (* (- 1) (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~q~0 main_~x~0) main_~c~0 (* (- 1) (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= ~b~0); {13832#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= main_~b~0 (+ (* (- 1) (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~q~0 main_~x~0) main_~c~0 (* (- 1) (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:10:03,202 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {13209#true} {13832#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= main_~b~0 (+ (* (- 1) (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~q~0 main_~x~0) main_~c~0 (* (- 1) (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0) (* main_~y~0 main_~s~0)))))} #97#return; {13832#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= main_~b~0 (+ (* (- 1) (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~q~0 main_~x~0) main_~c~0 (* (- 1) (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:10:03,202 INFO L290 TraceCheckUtils]: 59: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:10:03,202 INFO L290 TraceCheckUtils]: 58: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:10:03,202 INFO L290 TraceCheckUtils]: 57: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:10:03,202 INFO L272 TraceCheckUtils]: 56: Hoare triple {13832#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= main_~b~0 (+ (* (- 1) (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~q~0 main_~x~0) main_~c~0 (* (- 1) (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:10:03,203 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {13209#true} {13832#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= main_~b~0 (+ (* (- 1) (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~q~0 main_~x~0) main_~c~0 (* (- 1) (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0) (* main_~y~0 main_~s~0)))))} #95#return; {13832#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= main_~b~0 (+ (* (- 1) (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~q~0 main_~x~0) main_~c~0 (* (- 1) (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:10:03,203 INFO L290 TraceCheckUtils]: 54: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:10:03,203 INFO L290 TraceCheckUtils]: 53: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:10:03,203 INFO L290 TraceCheckUtils]: 52: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:10:03,203 INFO L272 TraceCheckUtils]: 51: Hoare triple {13832#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= main_~b~0 (+ (* (- 1) (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~q~0 main_~x~0) main_~c~0 (* (- 1) (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:10:03,204 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13209#true} {13832#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= main_~b~0 (+ (* (- 1) (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~q~0 main_~x~0) main_~c~0 (* (- 1) (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0) (* main_~y~0 main_~s~0)))))} #93#return; {13832#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= main_~b~0 (+ (* (- 1) (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~q~0 main_~x~0) main_~c~0 (* (- 1) (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:10:03,204 INFO L290 TraceCheckUtils]: 49: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:10:03,204 INFO L290 TraceCheckUtils]: 48: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:10:03,204 INFO L290 TraceCheckUtils]: 47: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:10:03,204 INFO L272 TraceCheckUtils]: 46: Hoare triple {13832#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= main_~b~0 (+ (* (- 1) (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~q~0 main_~x~0) main_~c~0 (* (- 1) (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:10:03,205 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {13209#true} {13832#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= main_~b~0 (+ (* (- 1) (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~q~0 main_~x~0) main_~c~0 (* (- 1) (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0) (* main_~y~0 main_~s~0)))))} #91#return; {13832#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= main_~b~0 (+ (* (- 1) (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~q~0 main_~x~0) main_~c~0 (* (- 1) (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:10:03,205 INFO L290 TraceCheckUtils]: 44: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:10:03,205 INFO L290 TraceCheckUtils]: 43: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:10:03,205 INFO L290 TraceCheckUtils]: 42: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:10:03,205 INFO L272 TraceCheckUtils]: 41: Hoare triple {13832#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= main_~b~0 (+ (* (- 1) (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~q~0 main_~x~0) main_~c~0 (* (- 1) (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:10:03,206 INFO L290 TraceCheckUtils]: 40: Hoare triple {13832#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= main_~b~0 (+ (* (- 1) (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~q~0 main_~x~0) main_~c~0 (* (- 1) (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {13832#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= main_~b~0 (+ (* (- 1) (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~q~0 main_~x~0) main_~c~0 (* (- 1) (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:10:05,209 WARN L290 TraceCheckUtils]: 39: Hoare triple {13902#(or (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~y~0) (* main_~p~0 main_~x~0)))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13832#(or (not (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~yy~0) main_~c~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~xy~0)) (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~c~0 main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~yy~0) (* main_~xy~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) main_~y~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0))) (not (= main_~b~0 (+ (* (- 1) (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* main_~q~0 main_~x~0) main_~c~0 (* (- 1) (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0) (* main_~y~0 main_~s~0)))))} is UNKNOWN [2022-04-27 13:10:05,210 INFO L290 TraceCheckUtils]: 38: Hoare triple {13902#(or (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~y~0) (* main_~p~0 main_~x~0)))))} assume !false; {13902#(or (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~y~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-27 13:10:05,211 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {13209#true} {13902#(or (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~y~0) (* main_~p~0 main_~x~0)))))} #89#return; {13902#(or (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~y~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-27 13:10:05,211 INFO L290 TraceCheckUtils]: 36: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:10:05,211 INFO L290 TraceCheckUtils]: 35: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:10:05,211 INFO L290 TraceCheckUtils]: 34: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:10:05,211 INFO L272 TraceCheckUtils]: 33: Hoare triple {13902#(or (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~y~0) (* main_~p~0 main_~x~0)))))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:10:05,211 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13209#true} {13902#(or (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~y~0) (* main_~p~0 main_~x~0)))))} #87#return; {13902#(or (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~y~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-27 13:10:05,211 INFO L290 TraceCheckUtils]: 31: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:10:05,212 INFO L290 TraceCheckUtils]: 30: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:10:05,212 INFO L290 TraceCheckUtils]: 29: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:10:05,212 INFO L272 TraceCheckUtils]: 28: Hoare triple {13902#(or (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~y~0) (* main_~p~0 main_~x~0)))))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:10:05,213 INFO L290 TraceCheckUtils]: 27: Hoare triple {13209#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {13902#(or (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) main_~p~0)) main_~xy~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~yy~0)) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))) (* (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) main_~y~0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~a~0)) (not (= (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~xy~0) (* main_~r~0 main_~yy~0) (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* (+ (* (- 1) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* (- 1) main_~q~0 main_~x~0) (* main_~p~0 main_~x~0)) main_~y~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-27 13:10:05,213 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13209#true} {13209#true} #85#return; {13209#true} is VALID [2022-04-27 13:10:05,213 INFO L290 TraceCheckUtils]: 25: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:10:05,213 INFO L290 TraceCheckUtils]: 24: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:10:05,213 INFO L290 TraceCheckUtils]: 23: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:10:05,213 INFO L272 TraceCheckUtils]: 22: Hoare triple {13209#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:10:05,213 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13209#true} {13209#true} #83#return; {13209#true} is VALID [2022-04-27 13:10:05,213 INFO L290 TraceCheckUtils]: 20: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:10:05,213 INFO L290 TraceCheckUtils]: 19: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:10:05,213 INFO L290 TraceCheckUtils]: 18: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:10:05,213 INFO L272 TraceCheckUtils]: 17: Hoare triple {13209#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:10:05,214 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13209#true} {13209#true} #81#return; {13209#true} is VALID [2022-04-27 13:10:05,214 INFO L290 TraceCheckUtils]: 15: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:10:05,214 INFO L290 TraceCheckUtils]: 14: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:10:05,214 INFO L290 TraceCheckUtils]: 13: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:10:05,214 INFO L272 TraceCheckUtils]: 12: Hoare triple {13209#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:10:05,214 INFO L290 TraceCheckUtils]: 11: Hoare triple {13209#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13209#true} is VALID [2022-04-27 13:10:05,214 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13209#true} {13209#true} #79#return; {13209#true} is VALID [2022-04-27 13:10:05,214 INFO L290 TraceCheckUtils]: 9: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:10:05,214 INFO L290 TraceCheckUtils]: 8: Hoare triple {13209#true} assume !(0 == ~cond); {13209#true} is VALID [2022-04-27 13:10:05,214 INFO L290 TraceCheckUtils]: 7: Hoare triple {13209#true} ~cond := #in~cond; {13209#true} is VALID [2022-04-27 13:10:05,214 INFO L272 TraceCheckUtils]: 6: Hoare triple {13209#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {13209#true} is VALID [2022-04-27 13:10:05,214 INFO L290 TraceCheckUtils]: 5: Hoare triple {13209#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {13209#true} is VALID [2022-04-27 13:10:05,214 INFO L272 TraceCheckUtils]: 4: Hoare triple {13209#true} call #t~ret6 := main(); {13209#true} is VALID [2022-04-27 13:10:05,214 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13209#true} {13209#true} #103#return; {13209#true} is VALID [2022-04-27 13:10:05,214 INFO L290 TraceCheckUtils]: 2: Hoare triple {13209#true} assume true; {13209#true} is VALID [2022-04-27 13:10:05,214 INFO L290 TraceCheckUtils]: 1: Hoare triple {13209#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(11, 2);call #Ultimate.allocInit(12, 3); {13209#true} is VALID [2022-04-27 13:10:05,214 INFO L272 TraceCheckUtils]: 0: Hoare triple {13209#true} call ULTIMATE.init(); {13209#true} is VALID [2022-04-27 13:10:05,215 INFO L134 CoverageAnalysis]: Checked inductivity of 550 backedges. 100 proven. 47 refuted. 1 times theorem prover too weak. 402 trivial. 0 not checked. [2022-04-27 13:10:05,215 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:05,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1664658558] [2022-04-27 13:10:05,215 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:05,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [584874087] [2022-04-27 13:10:05,215 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [584874087] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:10:05,215 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:10:05,215 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 22 [2022-04-27 13:10:05,215 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [991293738] [2022-04-27 13:10:05,216 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:10:05,216 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 21 states have (on average 2.380952380952381) internal successors, (50), 20 states have internal predecessors, (50), 12 states have call successors, (42), 2 states have call predecessors, (42), 2 states have return successors, (39), 13 states have call predecessors, (39), 11 states have call successors, (39) Word has length 132 [2022-04-27 13:10:05,216 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:05,217 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 21 states have (on average 2.380952380952381) internal successors, (50), 20 states have internal predecessors, (50), 12 states have call successors, (42), 2 states have call predecessors, (42), 2 states have return successors, (39), 13 states have call predecessors, (39), 11 states have call successors, (39) [2022-04-27 13:10:10,493 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 129 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:10,493 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-27 13:10:10,494 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:10,494 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-27 13:10:10,494 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=350, Unknown=7, NotChecked=0, Total=462 [2022-04-27 13:10:10,494 INFO L87 Difference]: Start difference. First operand 154 states and 199 transitions. Second operand has 22 states, 21 states have (on average 2.380952380952381) internal successors, (50), 20 states have internal predecessors, (50), 12 states have call successors, (42), 2 states have call predecessors, (42), 2 states have return successors, (39), 13 states have call predecessors, (39), 11 states have call successors, (39) [2022-04-27 13:10:19,985 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 13:10:21,954 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.91s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:10:30,899 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.55s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:10:35,556 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.48s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:10:40,760 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 13:10:42,888 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 13:10:45,073 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 13:11:16,956 WARN L232 SmtUtils]: Spent 19.16s on a formula simplification that was a NOOP. DAG size: 130 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:11:19,044 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 13:11:21,059 WARN L833 $PredicateComparison]: unable to prove that (let ((.cse16 (* (- 1) c_main_~s~0 c_main_~y~0)) (.cse14 (* c_main_~p~0 c_main_~x~0)) (.cse15 (* c_main_~r~0 c_main_~y~0)) (.cse17 (* (- 1) c_main_~q~0 c_main_~x~0)) (.cse1 (* c_main_~q~0 c_main_~x~0)) (.cse2 (* c_main_~s~0 c_main_~y~0))) (let ((.cse0 (= (+ .cse1 .cse2 (* c_main_~b~0 c_main_~y~0)) (+ (* c_main_~q~0 c_main_~xy~0) (* c_main_~yy~0 c_main_~s~0) c_main_~b~0))) (.cse13 (+ c_main_~b~0 .cse16 .cse14 .cse15 .cse17))) (let ((.cse10 (* (- 1) c_main_~r~0)) (.cse11 (* (- 1) c_main_~p~0)) (.cse18 (not (= .cse13 c_main_~a~0))) (.cse23 (not .cse0))) (and (or .cse0 (not (= c_main_~b~0 (+ .cse1 .cse2)))) (let ((.cse12 (* (- 1) c_main_~q~0 c_main_~k~0)) (.cse9 (* c_main_~s~0 c_main_~k~0))) (let ((.cse3 (+ c_main_~r~0 (* (- 1) .cse9))) (.cse4 (+ c_main_~p~0 .cse12))) (or (not (= (+ (* .cse3 c_main_~y~0) (* .cse4 c_main_~x~0) (* c_main_~c~0 c_main_~y~0)) (+ (* c_main_~xy~0 .cse4) c_main_~c~0 (* c_main_~yy~0 .cse3)))) (let ((.cse6 (+ c_main_~q~0 .cse11 (* (- 1) .cse12))) (.cse8 (+ c_main_~s~0 .cse9 .cse10))) (let ((.cse5 (* .cse8 c_main_~y~0)) (.cse7 (* .cse6 c_main_~x~0))) (= (+ .cse5 (* .cse6 c_main_~xy~0) .cse7 (* c_main_~yy~0 .cse8)) (+ (* (+ .cse5 .cse7) c_main_~y~0) .cse5 .cse7)))) (not (= (+ (* (- 1) .cse3 c_main_~y~0) .cse1 c_main_~c~0 .cse2 (* (- 1) .cse4 c_main_~x~0)) c_main_~b~0))))) (or (not (= (+ (* .cse13 c_main_~y~0) .cse14 .cse15) (+ c_main_~b~0 (* c_main_~yy~0 c_main_~r~0) .cse16 .cse14 .cse15 .cse17 (* c_main_~xy~0 c_main_~p~0)))) .cse18 (let ((.cse21 (+ c_main_~q~0 .cse11)) (.cse22 (+ c_main_~s~0 .cse10))) (let ((.cse19 (* c_main_~y~0 .cse22)) (.cse20 (* .cse21 c_main_~x~0))) (= (+ (* (+ .cse19 .cse20) c_main_~y~0) .cse19 .cse20) (+ .cse19 (* c_main_~xy~0 .cse21) .cse20 (* c_main_~yy~0 .cse22)))))) (or .cse23 .cse18 (let ((.cse24 (+ (* (- 1) c_main_~q~0) c_main_~p~0)) (.cse27 (+ (* (- 1) c_main_~s~0) c_main_~r~0))) (let ((.cse25 (* .cse27 c_main_~y~0)) (.cse26 (* .cse24 c_main_~x~0))) (= (+ (* .cse24 c_main_~xy~0) .cse25 .cse26 (* c_main_~yy~0 .cse27)) (+ .cse25 .cse26 (* (+ .cse25 .cse26) c_main_~y~0)))))) (let ((.cse33 (+ c_main_~k~0 1))) (let ((.cse30 (+ (* (- 1) (* c_main_~s~0 .cse33)) c_main_~r~0)) (.cse29 (+ (* (- 1) c_main_~q~0 .cse33) c_main_~p~0))) (let ((.cse28 (* .cse29 c_main_~x~0)) (.cse31 (* .cse30 c_main_~y~0))) (let ((.cse32 (+ .cse28 .cse31))) (or .cse23 (= (+ .cse28 (* .cse29 c_main_~xy~0) (* c_main_~yy~0 .cse30) .cse31) (+ (* .cse32 c_main_~y~0) .cse28 .cse31)) (not (= .cse32 (+ (* (- 1) c_main_~b~0) c_main_~c~0)))))))))))) is different from false [2022-04-27 13:11:31,856 WARN L833 $PredicateComparison]: unable to prove that (let ((.cse1 (* c_main_~q~0 c_main_~x~0)) (.cse2 (* c_main_~s~0 c_main_~y~0))) (let ((.cse10 (* (- 1) c_main_~r~0)) (.cse11 (* (- 1) c_main_~p~0)) (.cse0 (= (+ .cse1 .cse2 (* c_main_~b~0 c_main_~y~0)) (+ (* c_main_~q~0 c_main_~xy~0) (* c_main_~yy~0 c_main_~s~0) c_main_~b~0)))) (and (or .cse0 (not (= c_main_~b~0 (+ .cse1 .cse2)))) (let ((.cse12 (* (- 1) c_main_~q~0 c_main_~k~0)) (.cse9 (* c_main_~s~0 c_main_~k~0))) (let ((.cse3 (+ c_main_~r~0 (* (- 1) .cse9))) (.cse4 (+ c_main_~p~0 .cse12))) (or (not (= (+ (* .cse3 c_main_~y~0) (* .cse4 c_main_~x~0) (* c_main_~c~0 c_main_~y~0)) (+ (* c_main_~xy~0 .cse4) c_main_~c~0 (* c_main_~yy~0 .cse3)))) (let ((.cse6 (+ c_main_~q~0 .cse11 (* (- 1) .cse12))) (.cse8 (+ c_main_~s~0 .cse9 .cse10))) (let ((.cse5 (* .cse8 c_main_~y~0)) (.cse7 (* .cse6 c_main_~x~0))) (= (+ .cse5 (* .cse6 c_main_~xy~0) .cse7 (* c_main_~yy~0 .cse8)) (+ (* (+ .cse5 .cse7) c_main_~y~0) .cse5 .cse7)))) (not (= (+ (* (- 1) .cse3 c_main_~y~0) .cse1 c_main_~c~0 .cse2 (* (- 1) .cse4 c_main_~x~0)) c_main_~b~0))))) (let ((.cse16 (* (- 1) c_main_~s~0 c_main_~y~0)) (.cse14 (* c_main_~p~0 c_main_~x~0)) (.cse15 (* c_main_~r~0 c_main_~y~0)) (.cse17 (* (- 1) c_main_~q~0 c_main_~x~0))) (let ((.cse13 (+ c_main_~b~0 .cse16 .cse14 .cse15 .cse17))) (or (not (= (+ (* .cse13 c_main_~y~0) .cse14 .cse15) (+ c_main_~b~0 (* c_main_~yy~0 c_main_~r~0) .cse16 .cse14 .cse15 .cse17 (* c_main_~xy~0 c_main_~p~0)))) (not (= .cse13 c_main_~a~0)) (let ((.cse20 (+ c_main_~q~0 .cse11)) (.cse21 (+ c_main_~s~0 .cse10))) (let ((.cse18 (* c_main_~y~0 .cse21)) (.cse19 (* .cse20 c_main_~x~0))) (= (+ (* (+ .cse18 .cse19) c_main_~y~0) .cse18 .cse19) (+ .cse18 (* c_main_~xy~0 .cse20) .cse19 (* c_main_~yy~0 .cse21)))))))) (let ((.cse27 (+ c_main_~k~0 1))) (let ((.cse24 (+ (* (- 1) (* c_main_~s~0 .cse27)) c_main_~r~0)) (.cse23 (+ (* (- 1) c_main_~q~0 .cse27) c_main_~p~0))) (let ((.cse22 (* .cse23 c_main_~x~0)) (.cse25 (* .cse24 c_main_~y~0))) (let ((.cse26 (+ .cse22 .cse25))) (or (not .cse0) (= (+ .cse22 (* .cse23 c_main_~xy~0) (* c_main_~yy~0 .cse24) .cse25) (+ (* .cse26 c_main_~y~0) .cse22 .cse25)) (not (= .cse26 (+ (* (- 1) c_main_~b~0) c_main_~c~0))))))))))) is different from false [2022-04-27 13:11:36,927 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 13:11:38,999 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 13:11:43,170 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 13:11:49,564 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 13:11:53,105 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.00s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:12:12,357 WARN L232 SmtUtils]: Spent 10.47s on a formula simplification. DAG size of input: 63 DAG size of output: 38 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:12:14,832 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 13:12:15,909 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.05s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:12:18,236 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 13:12:28,219 WARN L232 SmtUtils]: Spent 5.20s on a formula simplification. DAG size of input: 85 DAG size of output: 59 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:12:32,664 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 13:12:34,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 13:12:36,831 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 13:12:38,881 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 13:12:41,620 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 13:12:51,837 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 13:12:59,394 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:13:01,453 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 13:13:03,519 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 13:13:29,082 WARN L232 SmtUtils]: Spent 15.57s on a formula simplification. DAG size of input: 107 DAG size of output: 81 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:13:31,205 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 13:13:33,210 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 13:14:59,590 WARN L232 SmtUtils]: Spent 29.47s on a formula simplification. DAG size of input: 86 DAG size of output: 85 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:15:01,622 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 13:15:15,842 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 13:15:18,083 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 13:15:20,105 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:15:22,106 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 13:15:22,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:15:22,155 INFO L93 Difference]: Finished difference Result 259 states and 341 transitions. [2022-04-27 13:15:22,157 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-27 13:15:22,157 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 21 states have (on average 2.380952380952381) internal successors, (50), 20 states have internal predecessors, (50), 12 states have call successors, (42), 2 states have call predecessors, (42), 2 states have return successors, (39), 13 states have call predecessors, (39), 11 states have call successors, (39) Word has length 132 [2022-04-27 13:15:22,157 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:15:22,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 21 states have (on average 2.380952380952381) internal successors, (50), 20 states have internal predecessors, (50), 12 states have call successors, (42), 2 states have call predecessors, (42), 2 states have return successors, (39), 13 states have call predecessors, (39), 11 states have call successors, (39) [2022-04-27 13:15:22,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 162 transitions. [2022-04-27 13:15:22,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 21 states have (on average 2.380952380952381) internal successors, (50), 20 states have internal predecessors, (50), 12 states have call successors, (42), 2 states have call predecessors, (42), 2 states have return successors, (39), 13 states have call predecessors, (39), 11 states have call successors, (39) [2022-04-27 13:15:22,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 162 transitions. [2022-04-27 13:15:22,165 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 162 transitions. [2022-04-27 13:15:39,043 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 162 edges. 154 inductive. 0 not inductive. 8 times theorem prover too weak to decide inductivity. [2022-04-27 13:15:39,048 INFO L225 Difference]: With dead ends: 259 [2022-04-27 13:15:39,048 INFO L226 Difference]: Without dead ends: 255 [2022-04-27 13:15:39,048 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 285 GetRequests, 242 SyntacticMatches, 3 SemanticMatches, 40 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 217 ImplicationChecksByTransitivity, 218.2s TimeCoverageRelationStatistics Valid=420, Invalid=1112, Unknown=36, NotChecked=154, Total=1722 [2022-04-27 13:15:39,049 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 119 mSDsluCounter, 208 mSDsCounter, 0 mSdLazyCounter, 720 mSolverCounterSat, 237 mSolverCounterUnsat, 28 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 71.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 131 SdHoareTripleChecker+Valid, 258 SdHoareTripleChecker+Invalid, 988 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 237 IncrementalHoareTripleChecker+Valid, 720 IncrementalHoareTripleChecker+Invalid, 28 IncrementalHoareTripleChecker+Unknown, 3 IncrementalHoareTripleChecker+Unchecked, 71.5s IncrementalHoareTripleChecker+Time [2022-04-27 13:15:39,049 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [131 Valid, 258 Invalid, 988 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [237 Valid, 720 Invalid, 28 Unknown, 3 Unchecked, 71.5s Time] [2022-04-27 13:15:39,049 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 255 states. [2022-04-27 13:15:39,338 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 255 to 193. [2022-04-27 13:15:39,338 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:15:39,344 INFO L82 GeneralOperation]: Start isEquivalent. First operand 255 states. Second operand has 193 states, 107 states have (on average 1.1121495327102804) internal successors, (119), 107 states have internal predecessors, (119), 65 states have call successors, (65), 22 states have call predecessors, (65), 20 states have return successors, (63), 63 states have call predecessors, (63), 63 states have call successors, (63) [2022-04-27 13:15:39,344 INFO L74 IsIncluded]: Start isIncluded. First operand 255 states. Second operand has 193 states, 107 states have (on average 1.1121495327102804) internal successors, (119), 107 states have internal predecessors, (119), 65 states have call successors, (65), 22 states have call predecessors, (65), 20 states have return successors, (63), 63 states have call predecessors, (63), 63 states have call successors, (63) [2022-04-27 13:15:39,344 INFO L87 Difference]: Start difference. First operand 255 states. Second operand has 193 states, 107 states have (on average 1.1121495327102804) internal successors, (119), 107 states have internal predecessors, (119), 65 states have call successors, (65), 22 states have call predecessors, (65), 20 states have return successors, (63), 63 states have call predecessors, (63), 63 states have call successors, (63) [2022-04-27 13:15:39,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:15:39,351 INFO L93 Difference]: Finished difference Result 255 states and 337 transitions. [2022-04-27 13:15:39,351 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 337 transitions. [2022-04-27 13:15:39,352 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:15:39,352 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:15:39,352 INFO L74 IsIncluded]: Start isIncluded. First operand has 193 states, 107 states have (on average 1.1121495327102804) internal successors, (119), 107 states have internal predecessors, (119), 65 states have call successors, (65), 22 states have call predecessors, (65), 20 states have return successors, (63), 63 states have call predecessors, (63), 63 states have call successors, (63) Second operand 255 states. [2022-04-27 13:15:39,352 INFO L87 Difference]: Start difference. First operand has 193 states, 107 states have (on average 1.1121495327102804) internal successors, (119), 107 states have internal predecessors, (119), 65 states have call successors, (65), 22 states have call predecessors, (65), 20 states have return successors, (63), 63 states have call predecessors, (63), 63 states have call successors, (63) Second operand 255 states. [2022-04-27 13:15:39,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:15:39,358 INFO L93 Difference]: Finished difference Result 255 states and 337 transitions. [2022-04-27 13:15:39,358 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 337 transitions. [2022-04-27 13:15:39,359 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:15:39,359 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:15:39,359 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:15:39,359 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:15:39,359 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 193 states, 107 states have (on average 1.1121495327102804) internal successors, (119), 107 states have internal predecessors, (119), 65 states have call successors, (65), 22 states have call predecessors, (65), 20 states have return successors, (63), 63 states have call predecessors, (63), 63 states have call successors, (63) [2022-04-27 13:15:39,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 247 transitions. [2022-04-27 13:15:39,363 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 247 transitions. Word has length 132 [2022-04-27 13:15:39,363 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:15:39,363 INFO L495 AbstractCegarLoop]: Abstraction has 193 states and 247 transitions. [2022-04-27 13:15:39,363 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 21 states have (on average 2.380952380952381) internal successors, (50), 20 states have internal predecessors, (50), 12 states have call successors, (42), 2 states have call predecessors, (42), 2 states have return successors, (39), 13 states have call predecessors, (39), 11 states have call successors, (39) [2022-04-27 13:15:39,363 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 247 transitions. [2022-04-27 13:15:39,364 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 139 [2022-04-27 13:15:39,364 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:15:39,364 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:15:39,381 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-27 13:15:39,581 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:15:39,581 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:15:39,581 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:15:39,581 INFO L85 PathProgramCache]: Analyzing trace with hash -896647763, now seen corresponding path program 2 times [2022-04-27 13:15:39,581 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:15:39,581 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1219245456] [2022-04-27 13:15:39,581 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:15:39,581 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:15:39,595 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:15:39,596 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1893914406] [2022-04-27 13:15:39,596 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:15:39,596 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:15:39,596 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:15:39,596 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:15:39,598 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-27 13:15:39,655 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:15:39,655 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:15:39,657 INFO L263 TraceCheckSpWp]: Trace formula consists of 333 conjuncts, 67 conjunts are in the unsatisfiable core [2022-04-27 13:15:39,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:15:39,682 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:15:42,528 INFO L272 TraceCheckUtils]: 0: Hoare triple {15276#true} call ULTIMATE.init(); {15276#true} is VALID [2022-04-27 13:15:42,528 INFO L290 TraceCheckUtils]: 1: Hoare triple {15276#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(11, 2);call #Ultimate.allocInit(12, 3); {15276#true} is VALID [2022-04-27 13:15:42,528 INFO L290 TraceCheckUtils]: 2: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,528 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15276#true} {15276#true} #103#return; {15276#true} is VALID [2022-04-27 13:15:42,528 INFO L272 TraceCheckUtils]: 4: Hoare triple {15276#true} call #t~ret6 := main(); {15276#true} is VALID [2022-04-27 13:15:42,528 INFO L290 TraceCheckUtils]: 5: Hoare triple {15276#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {15276#true} is VALID [2022-04-27 13:15:42,528 INFO L272 TraceCheckUtils]: 6: Hoare triple {15276#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,528 INFO L290 TraceCheckUtils]: 7: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L290 TraceCheckUtils]: 8: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L290 TraceCheckUtils]: 9: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15276#true} {15276#true} #79#return; {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L290 TraceCheckUtils]: 11: Hoare triple {15276#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L272 TraceCheckUtils]: 12: Hoare triple {15276#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L290 TraceCheckUtils]: 13: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L290 TraceCheckUtils]: 14: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L290 TraceCheckUtils]: 15: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15276#true} {15276#true} #81#return; {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L272 TraceCheckUtils]: 17: Hoare triple {15276#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L290 TraceCheckUtils]: 18: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L290 TraceCheckUtils]: 19: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L290 TraceCheckUtils]: 20: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15276#true} {15276#true} #83#return; {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L272 TraceCheckUtils]: 22: Hoare triple {15276#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L290 TraceCheckUtils]: 23: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L290 TraceCheckUtils]: 24: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L290 TraceCheckUtils]: 25: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,529 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15276#true} {15276#true} #85#return; {15276#true} is VALID [2022-04-27 13:15:42,530 INFO L290 TraceCheckUtils]: 27: Hoare triple {15276#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {15362#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:15:42,530 INFO L272 TraceCheckUtils]: 28: Hoare triple {15362#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,530 INFO L290 TraceCheckUtils]: 29: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,530 INFO L290 TraceCheckUtils]: 30: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,530 INFO L290 TraceCheckUtils]: 31: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,531 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15276#true} {15362#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {15362#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:15:42,531 INFO L272 TraceCheckUtils]: 33: Hoare triple {15362#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,531 INFO L290 TraceCheckUtils]: 34: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,531 INFO L290 TraceCheckUtils]: 35: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,531 INFO L290 TraceCheckUtils]: 36: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,532 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {15276#true} {15362#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {15362#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:15:42,532 INFO L290 TraceCheckUtils]: 38: Hoare triple {15362#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {15362#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:15:42,533 INFO L290 TraceCheckUtils]: 39: Hoare triple {15362#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {15399#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:15:42,533 INFO L290 TraceCheckUtils]: 40: Hoare triple {15399#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {15399#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:15:42,533 INFO L272 TraceCheckUtils]: 41: Hoare triple {15399#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,533 INFO L290 TraceCheckUtils]: 42: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,533 INFO L290 TraceCheckUtils]: 43: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,533 INFO L290 TraceCheckUtils]: 44: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,534 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {15276#true} {15399#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #91#return; {15399#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:15:42,534 INFO L272 TraceCheckUtils]: 46: Hoare triple {15399#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,534 INFO L290 TraceCheckUtils]: 47: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,534 INFO L290 TraceCheckUtils]: 48: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,534 INFO L290 TraceCheckUtils]: 49: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,535 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15276#true} {15399#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #93#return; {15399#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:15:42,535 INFO L272 TraceCheckUtils]: 51: Hoare triple {15399#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,535 INFO L290 TraceCheckUtils]: 52: Hoare triple {15276#true} ~cond := #in~cond; {15439#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:15:42,535 INFO L290 TraceCheckUtils]: 53: Hoare triple {15439#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15443#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:15:42,536 INFO L290 TraceCheckUtils]: 54: Hoare triple {15443#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15443#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:15:42,536 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {15443#(not (= |__VERIFIER_assert_#in~cond| 0))} {15399#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #95#return; {15399#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:15:42,536 INFO L272 TraceCheckUtils]: 56: Hoare triple {15399#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,536 INFO L290 TraceCheckUtils]: 57: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,536 INFO L290 TraceCheckUtils]: 58: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,536 INFO L290 TraceCheckUtils]: 59: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,537 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {15276#true} {15399#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #97#return; {15399#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:15:42,537 INFO L290 TraceCheckUtils]: 61: Hoare triple {15399#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {15468#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:15:42,538 INFO L290 TraceCheckUtils]: 62: Hoare triple {15468#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15472#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:15:42,538 INFO L290 TraceCheckUtils]: 63: Hoare triple {15472#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {15472#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:15:42,539 INFO L290 TraceCheckUtils]: 64: Hoare triple {15472#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {15479#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:15:42,539 INFO L290 TraceCheckUtils]: 65: Hoare triple {15479#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {15479#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:15:42,539 INFO L272 TraceCheckUtils]: 66: Hoare triple {15479#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,539 INFO L290 TraceCheckUtils]: 67: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,539 INFO L290 TraceCheckUtils]: 68: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,540 INFO L290 TraceCheckUtils]: 69: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,540 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {15276#true} {15479#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #91#return; {15479#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:15:42,540 INFO L272 TraceCheckUtils]: 71: Hoare triple {15479#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,540 INFO L290 TraceCheckUtils]: 72: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,540 INFO L290 TraceCheckUtils]: 73: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,540 INFO L290 TraceCheckUtils]: 74: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,541 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {15276#true} {15479#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #93#return; {15479#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:15:42,541 INFO L272 TraceCheckUtils]: 76: Hoare triple {15479#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,541 INFO L290 TraceCheckUtils]: 77: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,541 INFO L290 TraceCheckUtils]: 78: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,541 INFO L290 TraceCheckUtils]: 79: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,542 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {15276#true} {15479#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #95#return; {15479#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:15:42,542 INFO L272 TraceCheckUtils]: 81: Hoare triple {15479#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,542 INFO L290 TraceCheckUtils]: 82: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,542 INFO L290 TraceCheckUtils]: 83: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,542 INFO L290 TraceCheckUtils]: 84: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,543 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {15276#true} {15479#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #97#return; {15479#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:15:42,544 INFO L290 TraceCheckUtils]: 86: Hoare triple {15479#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {15546#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:15:42,544 INFO L290 TraceCheckUtils]: 87: Hoare triple {15546#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {15546#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:15:42,545 INFO L272 TraceCheckUtils]: 88: Hoare triple {15546#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,545 INFO L290 TraceCheckUtils]: 89: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,545 INFO L290 TraceCheckUtils]: 90: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,545 INFO L290 TraceCheckUtils]: 91: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,545 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {15276#true} {15546#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #91#return; {15546#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:15:42,545 INFO L272 TraceCheckUtils]: 93: Hoare triple {15546#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,545 INFO L290 TraceCheckUtils]: 94: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,545 INFO L290 TraceCheckUtils]: 95: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,545 INFO L290 TraceCheckUtils]: 96: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,546 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {15276#true} {15546#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #93#return; {15546#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:15:42,546 INFO L272 TraceCheckUtils]: 98: Hoare triple {15546#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,546 INFO L290 TraceCheckUtils]: 99: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,546 INFO L290 TraceCheckUtils]: 100: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,546 INFO L290 TraceCheckUtils]: 101: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,547 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {15276#true} {15546#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #95#return; {15546#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:15:42,547 INFO L272 TraceCheckUtils]: 103: Hoare triple {15546#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,547 INFO L290 TraceCheckUtils]: 104: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,547 INFO L290 TraceCheckUtils]: 105: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,547 INFO L290 TraceCheckUtils]: 106: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,548 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {15276#true} {15546#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #97#return; {15546#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:15:42,549 INFO L290 TraceCheckUtils]: 108: Hoare triple {15546#(and (= main_~s~0 0) (<= 1 main_~k~0) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {15613#(and (= main_~s~0 0) (= main_~p~0 0) (<= 2 main_~k~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 1))} is VALID [2022-04-27 13:15:42,549 INFO L290 TraceCheckUtils]: 109: Hoare triple {15613#(and (= main_~s~0 0) (= main_~p~0 0) (<= 2 main_~k~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 1))} assume !false; {15613#(and (= main_~s~0 0) (= main_~p~0 0) (<= 2 main_~k~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 1))} is VALID [2022-04-27 13:15:42,549 INFO L272 TraceCheckUtils]: 110: Hoare triple {15613#(and (= main_~s~0 0) (= main_~p~0 0) (<= 2 main_~k~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,550 INFO L290 TraceCheckUtils]: 111: Hoare triple {15276#true} ~cond := #in~cond; {15439#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:15:42,550 INFO L290 TraceCheckUtils]: 112: Hoare triple {15439#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15443#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:15:42,550 INFO L290 TraceCheckUtils]: 113: Hoare triple {15443#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15443#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:15:42,551 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {15443#(not (= |__VERIFIER_assert_#in~cond| 0))} {15613#(and (= main_~s~0 0) (= main_~p~0 0) (<= 2 main_~k~0) (not (<= main_~a~0 main_~x~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 1))} #91#return; {15632#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~q~0 1) (not (<= (+ main_~c~0 (* main_~b~0 main_~k~0)) main_~x~0)))} is VALID [2022-04-27 13:15:42,552 INFO L272 TraceCheckUtils]: 115: Hoare triple {15632#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~q~0 1) (not (<= (+ main_~c~0 (* main_~b~0 main_~k~0)) main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,552 INFO L290 TraceCheckUtils]: 116: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,552 INFO L290 TraceCheckUtils]: 117: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,552 INFO L290 TraceCheckUtils]: 118: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,552 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {15276#true} {15632#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~q~0 1) (not (<= (+ main_~c~0 (* main_~b~0 main_~k~0)) main_~x~0)))} #93#return; {15632#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~q~0 1) (not (<= (+ main_~c~0 (* main_~b~0 main_~k~0)) main_~x~0)))} is VALID [2022-04-27 13:15:42,552 INFO L272 TraceCheckUtils]: 120: Hoare triple {15632#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~q~0 1) (not (<= (+ main_~c~0 (* main_~b~0 main_~k~0)) main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,552 INFO L290 TraceCheckUtils]: 121: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,552 INFO L290 TraceCheckUtils]: 122: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,552 INFO L290 TraceCheckUtils]: 123: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,553 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {15276#true} {15632#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~q~0 1) (not (<= (+ main_~c~0 (* main_~b~0 main_~k~0)) main_~x~0)))} #95#return; {15632#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~q~0 1) (not (<= (+ main_~c~0 (* main_~b~0 main_~k~0)) main_~x~0)))} is VALID [2022-04-27 13:15:42,553 INFO L272 TraceCheckUtils]: 125: Hoare triple {15632#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~q~0 1) (not (<= (+ main_~c~0 (* main_~b~0 main_~k~0)) main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {15276#true} is VALID [2022-04-27 13:15:42,553 INFO L290 TraceCheckUtils]: 126: Hoare triple {15276#true} ~cond := #in~cond; {15276#true} is VALID [2022-04-27 13:15:42,553 INFO L290 TraceCheckUtils]: 127: Hoare triple {15276#true} assume !(0 == ~cond); {15276#true} is VALID [2022-04-27 13:15:42,553 INFO L290 TraceCheckUtils]: 128: Hoare triple {15276#true} assume true; {15276#true} is VALID [2022-04-27 13:15:42,566 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {15276#true} {15632#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~q~0 1) (not (<= (+ main_~c~0 (* main_~b~0 main_~k~0)) main_~x~0)))} #97#return; {15632#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~q~0 1) (not (<= (+ main_~c~0 (* main_~b~0 main_~k~0)) main_~x~0)))} is VALID [2022-04-27 13:15:42,566 INFO L290 TraceCheckUtils]: 130: Hoare triple {15632#(and (= main_~s~0 0) (= main_~y~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~q~0 1) (not (<= (+ main_~c~0 (* main_~b~0 main_~k~0)) main_~x~0)))} assume !(~c~0 >= ~b~0); {15681#(and (= main_~s~0 0) (= (* main_~x~0 2) (* main_~k~0 main_~x~0)) (= main_~p~0 0) (= main_~r~0 1) (< main_~c~0 main_~x~0) (= (+ main_~c~0 (* main_~k~0 main_~x~0)) main_~y~0) (< main_~x~0 (+ main_~c~0 (* main_~k~0 main_~x~0))) (= main_~q~0 1))} is VALID [2022-04-27 13:15:42,568 INFO L290 TraceCheckUtils]: 131: Hoare triple {15681#(and (= main_~s~0 0) (= (* main_~x~0 2) (* main_~k~0 main_~x~0)) (= main_~p~0 0) (= main_~r~0 1) (< main_~c~0 main_~x~0) (= (+ main_~c~0 (* main_~k~0 main_~x~0)) main_~y~0) (< main_~x~0 (+ main_~c~0 (* main_~k~0 main_~x~0))) (= main_~q~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15685#(and (= (* main_~x~0 2) (* main_~x~0 (* (- 1) main_~q~0))) (< (+ (* main_~q~0 main_~x~0) main_~y~0) main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0))} is VALID [2022-04-27 13:15:42,568 INFO L290 TraceCheckUtils]: 132: Hoare triple {15685#(and (= (* main_~x~0 2) (* main_~x~0 (* (- 1) main_~q~0))) (< (+ (* main_~q~0 main_~x~0) main_~y~0) main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0))} assume !false; {15685#(and (= (* main_~x~0 2) (* main_~x~0 (* (- 1) main_~q~0))) (< (+ (* main_~q~0 main_~x~0) main_~y~0) main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0))} is VALID [2022-04-27 13:15:42,569 INFO L290 TraceCheckUtils]: 133: Hoare triple {15685#(and (= (* main_~x~0 2) (* main_~x~0 (* (- 1) main_~q~0))) (< (+ (* main_~q~0 main_~x~0) main_~y~0) main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0))} assume !(0 != ~b~0); {15692#(and (= main_~s~0 1) (< main_~x~0 main_~y~0) (= (+ (* main_~q~0 main_~x~0) main_~y~0) 0) (= (+ (* main_~x~0 2) (* main_~q~0 main_~x~0)) 0))} is VALID [2022-04-27 13:15:42,569 INFO L272 TraceCheckUtils]: 134: Hoare triple {15692#(and (= main_~s~0 1) (< main_~x~0 main_~y~0) (= (+ (* main_~q~0 main_~x~0) main_~y~0) 0) (= (+ (* main_~x~0 2) (* main_~q~0 main_~x~0)) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {15696#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:15:42,570 INFO L290 TraceCheckUtils]: 135: Hoare triple {15696#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15700#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:15:42,570 INFO L290 TraceCheckUtils]: 136: Hoare triple {15700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15277#false} is VALID [2022-04-27 13:15:42,570 INFO L290 TraceCheckUtils]: 137: Hoare triple {15277#false} assume !false; {15277#false} is VALID [2022-04-27 13:15:42,570 INFO L134 CoverageAnalysis]: Checked inductivity of 615 backedges. 69 proven. 90 refuted. 0 times theorem prover too weak. 456 trivial. 0 not checked. [2022-04-27 13:15:42,570 INFO L328 TraceCheckSpWp]: Computing backward predicates...