/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_unwindbound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-07 13:38:01,798 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-07 13:38:01,800 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-07 13:38:01,834 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-07 13:38:01,834 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-07 13:38:01,835 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-07 13:38:01,837 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-07 13:38:01,839 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-07 13:38:01,840 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-07 13:38:01,843 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-07 13:38:01,845 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-07 13:38:01,846 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-07 13:38:01,846 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-07 13:38:01,848 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-07 13:38:01,848 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-07 13:38:01,850 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-07 13:38:01,851 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-07 13:38:01,852 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-07 13:38:01,853 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-07 13:38:01,857 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-07 13:38:01,858 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-07 13:38:01,859 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-07 13:38:01,859 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-07 13:38:01,860 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-07 13:38:01,860 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-07 13:38:01,865 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-07 13:38:01,865 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-07 13:38:01,865 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-07 13:38:01,866 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-07 13:38:01,866 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-07 13:38:01,867 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-07 13:38:01,867 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-07 13:38:01,868 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-07 13:38:01,868 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-07 13:38:01,869 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-07 13:38:01,869 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-07 13:38:01,869 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-07 13:38:01,870 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-07 13:38:01,870 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-07 13:38:01,870 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-07 13:38:01,870 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-07 13:38:01,871 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-07 13:38:01,872 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-07 13:38:01,894 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-07 13:38:01,894 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-07 13:38:01,894 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-07 13:38:01,894 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-07 13:38:01,895 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-07 13:38:01,895 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-07 13:38:01,895 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-07 13:38:01,895 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-07 13:38:01,895 INFO L138 SettingsManager]: * Use SBE=true [2022-04-07 13:38:01,896 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-07 13:38:01,896 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-07 13:38:01,896 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-07 13:38:01,896 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-07 13:38:01,896 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-07 13:38:01,896 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-07 13:38:01,896 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-07 13:38:01,897 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-07 13:38:01,897 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-07 13:38:01,897 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-07 13:38:01,897 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-07 13:38:01,897 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-07 13:38:01,897 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-07 13:38:01,897 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-07 13:38:01,897 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-07 13:38:01,897 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 13:38:01,897 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-07 13:38:01,897 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-07 13:38:01,898 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-07 13:38:01,898 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-07 13:38:01,898 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-07 13:38:01,898 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-07 13:38:01,898 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-07 13:38:01,898 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-07 13:38:01,898 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-07 13:38:02,054 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-07 13:38:02,068 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-07 13:38:02,070 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-07 13:38:02,070 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-07 13:38:02,071 INFO L275 PluginConnector]: CDTParser initialized [2022-04-07 13:38:02,072 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_unwindbound100.c [2022-04-07 13:38:02,115 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3eaee3215/ffa13096f722491a83cff13526172e8a/FLAGd2e8fb2ea [2022-04-07 13:38:02,446 INFO L306 CDTParser]: Found 1 translation units. [2022-04-07 13:38:02,446 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_unwindbound100.c [2022-04-07 13:38:02,451 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3eaee3215/ffa13096f722491a83cff13526172e8a/FLAGd2e8fb2ea [2022-04-07 13:38:02,463 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3eaee3215/ffa13096f722491a83cff13526172e8a [2022-04-07 13:38:02,465 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-07 13:38:02,466 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-07 13:38:02,469 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-07 13:38:02,469 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-07 13:38:02,471 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-07 13:38:02,472 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 01:38:02" (1/1) ... [2022-04-07 13:38:02,472 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@696e5ed9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:38:02, skipping insertion in model container [2022-04-07 13:38:02,472 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 01:38:02" (1/1) ... [2022-04-07 13:38:02,477 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-07 13:38:02,488 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-07 13:38:02,598 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_unwindbound100.c[490,503] [2022-04-07 13:38:02,628 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 13:38:02,634 INFO L203 MainTranslator]: Completed pre-run [2022-04-07 13:38:02,661 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_unwindbound100.c[490,503] [2022-04-07 13:38:02,670 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 13:38:02,680 INFO L208 MainTranslator]: Completed translation [2022-04-07 13:38:02,680 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:38:02 WrapperNode [2022-04-07 13:38:02,680 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-07 13:38:02,681 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-07 13:38:02,681 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-07 13:38:02,681 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-07 13:38:02,688 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:38:02" (1/1) ... [2022-04-07 13:38:02,688 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:38:02" (1/1) ... [2022-04-07 13:38:02,692 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:38:02" (1/1) ... [2022-04-07 13:38:02,693 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:38:02" (1/1) ... [2022-04-07 13:38:02,697 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:38:02" (1/1) ... [2022-04-07 13:38:02,702 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:38:02" (1/1) ... [2022-04-07 13:38:02,703 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:38:02" (1/1) ... [2022-04-07 13:38:02,705 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-07 13:38:02,705 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-07 13:38:02,705 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-07 13:38:02,705 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-07 13:38:02,706 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:38:02" (1/1) ... [2022-04-07 13:38:02,712 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 13:38:02,724 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:38:02,733 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-07 13:38:02,756 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-07 13:38:02,771 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-07 13:38:02,772 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-07 13:38:02,772 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-07 13:38:02,772 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-07 13:38:02,772 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-07 13:38:02,772 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-07 13:38:02,772 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-07 13:38:02,772 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-07 13:38:02,772 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-07 13:38:02,772 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-07 13:38:02,773 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-07 13:38:02,773 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-07 13:38:02,773 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-07 13:38:02,773 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-07 13:38:02,773 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-07 13:38:02,773 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-07 13:38:02,773 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-07 13:38:02,773 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-07 13:38:02,773 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-07 13:38:02,773 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-07 13:38:02,821 INFO L234 CfgBuilder]: Building ICFG [2022-04-07 13:38:02,822 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-07 13:38:03,004 INFO L275 CfgBuilder]: Performing block encoding [2022-04-07 13:38:03,009 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-07 13:38:03,010 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-07 13:38:03,011 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 01:38:03 BoogieIcfgContainer [2022-04-07 13:38:03,011 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-07 13:38:03,012 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-07 13:38:03,012 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-07 13:38:03,014 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-07 13:38:03,015 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.04 01:38:02" (1/3) ... [2022-04-07 13:38:03,015 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1cc40c2d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 01:38:03, skipping insertion in model container [2022-04-07 13:38:03,015 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 01:38:02" (2/3) ... [2022-04-07 13:38:03,015 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1cc40c2d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 01:38:03, skipping insertion in model container [2022-04-07 13:38:03,015 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 01:38:03" (3/3) ... [2022-04-07 13:38:03,016 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll_unwindbound100.c [2022-04-07 13:38:03,019 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-07 13:38:03,020 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-07 13:38:03,059 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-07 13:38:03,064 INFO L340 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 [2022-04-07 13:38:03,064 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-07 13:38:03,077 INFO L276 IsEmpty]: Start isEmpty. Operand has 39 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 23 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-07 13:38:03,080 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-07 13:38:03,080 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:38:03,080 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:38:03,081 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:38:03,084 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:38:03,084 INFO L85 PathProgramCache]: Analyzing trace with hash 1950618521, now seen corresponding path program 1 times [2022-04-07 13:38:03,090 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:38:03,090 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [958487765] [2022-04-07 13:38:03,090 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:03,091 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:38:03,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:03,207 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 13:38:03,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:03,226 INFO L290 TraceCheckUtils]: 0: Hoare triple {63#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {42#true} is VALID [2022-04-07 13:38:03,226 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-07 13:38:03,227 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42#true} {42#true} #98#return; {42#true} is VALID [2022-04-07 13:38:03,227 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 13:38:03,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:03,238 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-07 13:38:03,239 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-07 13:38:03,240 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-07 13:38:03,240 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {42#true} #78#return; {43#false} is VALID [2022-04-07 13:38:03,240 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 13:38:03,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:03,257 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-07 13:38:03,257 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-07 13:38:03,258 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-07 13:38:03,258 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {43#false} #80#return; {43#false} is VALID [2022-04-07 13:38:03,258 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 13:38:03,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:03,265 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-07 13:38:03,266 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-07 13:38:03,266 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-07 13:38:03,266 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {43#false} #82#return; {43#false} is VALID [2022-04-07 13:38:03,266 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-07 13:38:03,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:03,280 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-07 13:38:03,281 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-07 13:38:03,281 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-07 13:38:03,281 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {43#false} #84#return; {43#false} is VALID [2022-04-07 13:38:03,282 INFO L272 TraceCheckUtils]: 0: Hoare triple {42#true} call ULTIMATE.init(); {63#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 13:38:03,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {63#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {42#true} is VALID [2022-04-07 13:38:03,282 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-07 13:38:03,282 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#true} {42#true} #98#return; {42#true} is VALID [2022-04-07 13:38:03,283 INFO L272 TraceCheckUtils]: 4: Hoare triple {42#true} call #t~ret8 := main(); {42#true} is VALID [2022-04-07 13:38:03,283 INFO L290 TraceCheckUtils]: 5: Hoare triple {42#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {42#true} is VALID [2022-04-07 13:38:03,283 INFO L272 TraceCheckUtils]: 6: Hoare triple {42#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {42#true} is VALID [2022-04-07 13:38:03,283 INFO L290 TraceCheckUtils]: 7: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-07 13:38:03,284 INFO L290 TraceCheckUtils]: 8: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-07 13:38:03,284 INFO L290 TraceCheckUtils]: 9: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-07 13:38:03,284 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {43#false} {42#true} #78#return; {43#false} is VALID [2022-04-07 13:38:03,284 INFO L272 TraceCheckUtils]: 11: Hoare triple {43#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {42#true} is VALID [2022-04-07 13:38:03,284 INFO L290 TraceCheckUtils]: 12: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-07 13:38:03,285 INFO L290 TraceCheckUtils]: 13: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-07 13:38:03,285 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-07 13:38:03,285 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {43#false} {43#false} #80#return; {43#false} is VALID [2022-04-07 13:38:03,285 INFO L290 TraceCheckUtils]: 16: Hoare triple {43#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; {43#false} is VALID [2022-04-07 13:38:03,285 INFO L272 TraceCheckUtils]: 17: Hoare triple {43#false} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {42#true} is VALID [2022-04-07 13:38:03,285 INFO L290 TraceCheckUtils]: 18: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-07 13:38:03,286 INFO L290 TraceCheckUtils]: 19: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-07 13:38:03,286 INFO L290 TraceCheckUtils]: 20: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-07 13:38:03,286 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {43#false} {43#false} #82#return; {43#false} is VALID [2022-04-07 13:38:03,286 INFO L272 TraceCheckUtils]: 22: Hoare triple {43#false} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {42#true} is VALID [2022-04-07 13:38:03,287 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-07 13:38:03,287 INFO L290 TraceCheckUtils]: 24: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-07 13:38:03,287 INFO L290 TraceCheckUtils]: 25: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-07 13:38:03,287 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {43#false} {43#false} #84#return; {43#false} is VALID [2022-04-07 13:38:03,287 INFO L290 TraceCheckUtils]: 27: Hoare triple {43#false} assume !true; {43#false} is VALID [2022-04-07 13:38:03,288 INFO L272 TraceCheckUtils]: 28: Hoare triple {43#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {43#false} is VALID [2022-04-07 13:38:03,288 INFO L290 TraceCheckUtils]: 29: Hoare triple {43#false} ~cond := #in~cond; {43#false} is VALID [2022-04-07 13:38:03,288 INFO L290 TraceCheckUtils]: 30: Hoare triple {43#false} assume 0 == ~cond; {43#false} is VALID [2022-04-07 13:38:03,288 INFO L290 TraceCheckUtils]: 31: Hoare triple {43#false} assume !false; {43#false} is VALID [2022-04-07 13:38:03,288 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 13:38:03,289 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:38:03,289 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [958487765] [2022-04-07 13:38:03,290 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [958487765] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 13:38:03,290 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 13:38:03,290 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-07 13:38:03,291 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1080902354] [2022-04-07 13:38:03,291 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:38:03,295 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 32 [2022-04-07 13:38:03,296 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:38:03,298 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:03,330 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:38:03,331 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-07 13:38:03,331 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:38:03,355 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-07 13:38:03,355 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 13:38:03,357 INFO L87 Difference]: Start difference. First operand has 39 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 23 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:03,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:03,516 INFO L93 Difference]: Finished difference Result 72 states and 112 transitions. [2022-04-07 13:38:03,516 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-07 13:38:03,516 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 32 [2022-04-07 13:38:03,516 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:38:03,517 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:03,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 112 transitions. [2022-04-07 13:38:03,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:03,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 112 transitions. [2022-04-07 13:38:03,530 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 112 transitions. [2022-04-07 13:38:03,630 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:38:03,641 INFO L225 Difference]: With dead ends: 72 [2022-04-07 13:38:03,641 INFO L226 Difference]: Without dead ends: 35 [2022-04-07 13:38:03,645 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 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-07 13:38:03,648 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 13:38:03,649 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 49 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 13:38:03,660 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-07 13:38:03,675 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-07 13:38:03,675 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:38:03,676 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:03,678 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:03,678 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:03,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:03,691 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-07 13:38:03,691 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-07 13:38:03,692 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:03,692 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:03,692 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 35 states. [2022-04-07 13:38:03,692 INFO L87 Difference]: Start difference. First operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 35 states. [2022-04-07 13:38:03,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:03,695 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-07 13:38:03,695 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-07 13:38:03,696 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:03,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:03,696 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:38:03,696 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:38:03,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:03,698 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 45 transitions. [2022-04-07 13:38:03,699 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 45 transitions. Word has length 32 [2022-04-07 13:38:03,699 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:38:03,699 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 45 transitions. [2022-04-07 13:38:03,700 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:03,700 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 45 transitions. [2022-04-07 13:38:03,701 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-07 13:38:03,701 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:38:03,701 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:38:03,701 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-07 13:38:03,701 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:38:03,702 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:38:03,702 INFO L85 PathProgramCache]: Analyzing trace with hash -1734391985, now seen corresponding path program 1 times [2022-04-07 13:38:03,702 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:38:03,702 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [888456740] [2022-04-07 13:38:03,702 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:03,702 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:38:03,718 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:38:03,718 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1171598953] [2022-04-07 13:38:03,718 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:03,719 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:38:03,719 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:38:03,720 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:38:03,721 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-07 13:38:03,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:03,775 INFO L263 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-07 13:38:03,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:03,803 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:38:04,019 INFO L272 TraceCheckUtils]: 0: Hoare triple {292#true} call ULTIMATE.init(); {292#true} is VALID [2022-04-07 13:38:04,020 INFO L290 TraceCheckUtils]: 1: Hoare triple {292#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);~counter~0 := 0; {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,021 INFO L290 TraceCheckUtils]: 2: Hoare triple {300#(<= ~counter~0 0)} assume true; {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,022 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {300#(<= ~counter~0 0)} {292#true} #98#return; {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,022 INFO L272 TraceCheckUtils]: 4: Hoare triple {300#(<= ~counter~0 0)} call #t~ret8 := main(); {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,023 INFO L290 TraceCheckUtils]: 5: Hoare triple {300#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,024 INFO L272 TraceCheckUtils]: 6: Hoare triple {300#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,024 INFO L290 TraceCheckUtils]: 7: Hoare triple {300#(<= ~counter~0 0)} ~cond := #in~cond; {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,024 INFO L290 TraceCheckUtils]: 8: Hoare triple {300#(<= ~counter~0 0)} assume !(0 == ~cond); {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,025 INFO L290 TraceCheckUtils]: 9: Hoare triple {300#(<= ~counter~0 0)} assume true; {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,025 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {300#(<= ~counter~0 0)} {300#(<= ~counter~0 0)} #78#return; {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,026 INFO L272 TraceCheckUtils]: 11: Hoare triple {300#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,026 INFO L290 TraceCheckUtils]: 12: Hoare triple {300#(<= ~counter~0 0)} ~cond := #in~cond; {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,026 INFO L290 TraceCheckUtils]: 13: Hoare triple {300#(<= ~counter~0 0)} assume !(0 == ~cond); {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,027 INFO L290 TraceCheckUtils]: 14: Hoare triple {300#(<= ~counter~0 0)} assume true; {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,027 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {300#(<= ~counter~0 0)} {300#(<= ~counter~0 0)} #80#return; {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,028 INFO L290 TraceCheckUtils]: 16: Hoare triple {300#(<= ~counter~0 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; {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,028 INFO L272 TraceCheckUtils]: 17: Hoare triple {300#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,028 INFO L290 TraceCheckUtils]: 18: Hoare triple {300#(<= ~counter~0 0)} ~cond := #in~cond; {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,029 INFO L290 TraceCheckUtils]: 19: Hoare triple {300#(<= ~counter~0 0)} assume !(0 == ~cond); {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,029 INFO L290 TraceCheckUtils]: 20: Hoare triple {300#(<= ~counter~0 0)} assume true; {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,029 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {300#(<= ~counter~0 0)} {300#(<= ~counter~0 0)} #82#return; {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,030 INFO L272 TraceCheckUtils]: 22: Hoare triple {300#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,030 INFO L290 TraceCheckUtils]: 23: Hoare triple {300#(<= ~counter~0 0)} ~cond := #in~cond; {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,031 INFO L290 TraceCheckUtils]: 24: Hoare triple {300#(<= ~counter~0 0)} assume !(0 == ~cond); {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,031 INFO L290 TraceCheckUtils]: 25: Hoare triple {300#(<= ~counter~0 0)} assume true; {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,031 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {300#(<= ~counter~0 0)} {300#(<= ~counter~0 0)} #84#return; {300#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:04,032 INFO L290 TraceCheckUtils]: 27: Hoare triple {300#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {379#(<= |main_#t~post6| 0)} is VALID [2022-04-07 13:38:04,032 INFO L290 TraceCheckUtils]: 28: Hoare triple {379#(<= |main_#t~post6| 0)} assume !(#t~post6 < 100);havoc #t~post6; {293#false} is VALID [2022-04-07 13:38:04,033 INFO L272 TraceCheckUtils]: 29: Hoare triple {293#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {293#false} is VALID [2022-04-07 13:38:04,033 INFO L290 TraceCheckUtils]: 30: Hoare triple {293#false} ~cond := #in~cond; {293#false} is VALID [2022-04-07 13:38:04,033 INFO L290 TraceCheckUtils]: 31: Hoare triple {293#false} assume 0 == ~cond; {293#false} is VALID [2022-04-07 13:38:04,033 INFO L290 TraceCheckUtils]: 32: Hoare triple {293#false} assume !false; {293#false} is VALID [2022-04-07 13:38:04,033 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 13:38:04,033 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 13:38:04,033 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:38:04,034 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [888456740] [2022-04-07 13:38:04,034 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:38:04,034 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1171598953] [2022-04-07 13:38:04,034 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1171598953] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 13:38:04,034 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 13:38:04,034 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-07 13:38:04,035 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [819351530] [2022-04-07 13:38:04,035 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:38:04,035 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-07 13:38:04,036 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:38:04,036 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:04,053 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:38:04,053 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-07 13:38:04,053 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:38:04,054 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-07 13:38:04,054 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-07 13:38:04,054 INFO L87 Difference]: Start difference. First operand 34 states and 45 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:04,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:04,124 INFO L93 Difference]: Finished difference Result 44 states and 56 transitions. [2022-04-07 13:38:04,125 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-07 13:38:04,125 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-07 13:38:04,125 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:38:04,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:04,127 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2022-04-07 13:38:04,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:04,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2022-04-07 13:38:04,129 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 56 transitions. [2022-04-07 13:38:04,180 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:38:04,181 INFO L225 Difference]: With dead ends: 44 [2022-04-07 13:38:04,182 INFO L226 Difference]: Without dead ends: 36 [2022-04-07 13:38:04,182 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-07 13:38:04,183 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 0 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 110 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 13:38:04,183 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 110 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 13:38:04,184 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-07 13:38:04,193 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 36. [2022-04-07 13:38:04,193 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:38:04,193 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:04,194 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:04,194 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:04,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:04,196 INFO L93 Difference]: Finished difference Result 36 states and 47 transitions. [2022-04-07 13:38:04,196 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 47 transitions. [2022-04-07 13:38:04,197 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:04,197 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:04,197 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 36 states. [2022-04-07 13:38:04,197 INFO L87 Difference]: Start difference. First operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 36 states. [2022-04-07 13:38:04,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:04,199 INFO L93 Difference]: Finished difference Result 36 states and 47 transitions. [2022-04-07 13:38:04,199 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 47 transitions. [2022-04-07 13:38:04,200 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:04,200 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:04,200 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:38:04,200 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:38:04,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:04,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 47 transitions. [2022-04-07 13:38:04,202 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 47 transitions. Word has length 33 [2022-04-07 13:38:04,202 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:38:04,202 INFO L478 AbstractCegarLoop]: Abstraction has 36 states and 47 transitions. [2022-04-07 13:38:04,202 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:04,202 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 47 transitions. [2022-04-07 13:38:04,203 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-07 13:38:04,203 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:38:04,203 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:38:04,220 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-07 13:38:04,416 WARN L460 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-07 13:38:04,417 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:38:04,417 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:38:04,418 INFO L85 PathProgramCache]: Analyzing trace with hash 2066454233, now seen corresponding path program 1 times [2022-04-07 13:38:04,418 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:38:04,418 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [649248592] [2022-04-07 13:38:04,418 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:04,418 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:38:04,436 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:38:04,436 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [420881239] [2022-04-07 13:38:04,436 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:04,436 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:38:04,437 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:38:04,444 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:38:04,445 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-07 13:38:04,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:04,485 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 13:38:04,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:04,494 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:38:04,633 INFO L272 TraceCheckUtils]: 0: Hoare triple {587#true} call ULTIMATE.init(); {587#true} is VALID [2022-04-07 13:38:04,633 INFO L290 TraceCheckUtils]: 1: Hoare triple {587#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);~counter~0 := 0; {587#true} is VALID [2022-04-07 13:38:04,633 INFO L290 TraceCheckUtils]: 2: Hoare triple {587#true} assume true; {587#true} is VALID [2022-04-07 13:38:04,633 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {587#true} {587#true} #98#return; {587#true} is VALID [2022-04-07 13:38:04,633 INFO L272 TraceCheckUtils]: 4: Hoare triple {587#true} call #t~ret8 := main(); {587#true} is VALID [2022-04-07 13:38:04,634 INFO L290 TraceCheckUtils]: 5: Hoare triple {587#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {587#true} is VALID [2022-04-07 13:38:04,634 INFO L272 TraceCheckUtils]: 6: Hoare triple {587#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {587#true} is VALID [2022-04-07 13:38:04,634 INFO L290 TraceCheckUtils]: 7: Hoare triple {587#true} ~cond := #in~cond; {587#true} is VALID [2022-04-07 13:38:04,634 INFO L290 TraceCheckUtils]: 8: Hoare triple {587#true} assume !(0 == ~cond); {587#true} is VALID [2022-04-07 13:38:04,634 INFO L290 TraceCheckUtils]: 9: Hoare triple {587#true} assume true; {587#true} is VALID [2022-04-07 13:38:04,634 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {587#true} {587#true} #78#return; {587#true} is VALID [2022-04-07 13:38:04,634 INFO L272 TraceCheckUtils]: 11: Hoare triple {587#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {587#true} is VALID [2022-04-07 13:38:04,635 INFO L290 TraceCheckUtils]: 12: Hoare triple {587#true} ~cond := #in~cond; {628#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 13:38:04,635 INFO L290 TraceCheckUtils]: 13: Hoare triple {628#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {632#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:38:04,636 INFO L290 TraceCheckUtils]: 14: Hoare triple {632#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {632#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:38:04,636 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {632#(not (= |assume_abort_if_not_#in~cond| 0))} {587#true} #80#return; {639#(<= 1 main_~y~0)} is VALID [2022-04-07 13:38:04,637 INFO L290 TraceCheckUtils]: 16: Hoare triple {639#(<= 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; {643#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:04,637 INFO L272 TraceCheckUtils]: 17: Hoare triple {643#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {587#true} is VALID [2022-04-07 13:38:04,637 INFO L290 TraceCheckUtils]: 18: Hoare triple {587#true} ~cond := #in~cond; {587#true} is VALID [2022-04-07 13:38:04,637 INFO L290 TraceCheckUtils]: 19: Hoare triple {587#true} assume !(0 == ~cond); {587#true} is VALID [2022-04-07 13:38:04,637 INFO L290 TraceCheckUtils]: 20: Hoare triple {587#true} assume true; {587#true} is VALID [2022-04-07 13:38:04,640 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {587#true} {643#(<= 1 main_~b~0)} #82#return; {643#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:04,640 INFO L272 TraceCheckUtils]: 22: Hoare triple {643#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {587#true} is VALID [2022-04-07 13:38:04,640 INFO L290 TraceCheckUtils]: 23: Hoare triple {587#true} ~cond := #in~cond; {587#true} is VALID [2022-04-07 13:38:04,640 INFO L290 TraceCheckUtils]: 24: Hoare triple {587#true} assume !(0 == ~cond); {587#true} is VALID [2022-04-07 13:38:04,640 INFO L290 TraceCheckUtils]: 25: Hoare triple {587#true} assume true; {587#true} is VALID [2022-04-07 13:38:04,641 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {587#true} {643#(<= 1 main_~b~0)} #84#return; {643#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:04,641 INFO L290 TraceCheckUtils]: 27: Hoare triple {643#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {643#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:04,642 INFO L290 TraceCheckUtils]: 28: Hoare triple {643#(<= 1 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {643#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:04,642 INFO L290 TraceCheckUtils]: 29: Hoare triple {643#(<= 1 main_~b~0)} assume !(0 != ~b~0); {588#false} is VALID [2022-04-07 13:38:04,642 INFO L272 TraceCheckUtils]: 30: Hoare triple {588#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {588#false} is VALID [2022-04-07 13:38:04,642 INFO L290 TraceCheckUtils]: 31: Hoare triple {588#false} ~cond := #in~cond; {588#false} is VALID [2022-04-07 13:38:04,642 INFO L290 TraceCheckUtils]: 32: Hoare triple {588#false} assume 0 == ~cond; {588#false} is VALID [2022-04-07 13:38:04,643 INFO L290 TraceCheckUtils]: 33: Hoare triple {588#false} assume !false; {588#false} is VALID [2022-04-07 13:38:04,643 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-07 13:38:04,643 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:38:04,862 INFO L290 TraceCheckUtils]: 33: Hoare triple {588#false} assume !false; {588#false} is VALID [2022-04-07 13:38:04,862 INFO L290 TraceCheckUtils]: 32: Hoare triple {588#false} assume 0 == ~cond; {588#false} is VALID [2022-04-07 13:38:04,862 INFO L290 TraceCheckUtils]: 31: Hoare triple {588#false} ~cond := #in~cond; {588#false} is VALID [2022-04-07 13:38:04,862 INFO L272 TraceCheckUtils]: 30: Hoare triple {588#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {588#false} is VALID [2022-04-07 13:38:04,863 INFO L290 TraceCheckUtils]: 29: Hoare triple {643#(<= 1 main_~b~0)} assume !(0 != ~b~0); {588#false} is VALID [2022-04-07 13:38:04,863 INFO L290 TraceCheckUtils]: 28: Hoare triple {643#(<= 1 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {643#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:04,863 INFO L290 TraceCheckUtils]: 27: Hoare triple {643#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {643#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:04,864 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {587#true} {643#(<= 1 main_~b~0)} #84#return; {643#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:04,864 INFO L290 TraceCheckUtils]: 25: Hoare triple {587#true} assume true; {587#true} is VALID [2022-04-07 13:38:04,864 INFO L290 TraceCheckUtils]: 24: Hoare triple {587#true} assume !(0 == ~cond); {587#true} is VALID [2022-04-07 13:38:04,864 INFO L290 TraceCheckUtils]: 23: Hoare triple {587#true} ~cond := #in~cond; {587#true} is VALID [2022-04-07 13:38:04,864 INFO L272 TraceCheckUtils]: 22: Hoare triple {643#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {587#true} is VALID [2022-04-07 13:38:04,864 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {587#true} {643#(<= 1 main_~b~0)} #82#return; {643#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:04,865 INFO L290 TraceCheckUtils]: 20: Hoare triple {587#true} assume true; {587#true} is VALID [2022-04-07 13:38:04,865 INFO L290 TraceCheckUtils]: 19: Hoare triple {587#true} assume !(0 == ~cond); {587#true} is VALID [2022-04-07 13:38:04,865 INFO L290 TraceCheckUtils]: 18: Hoare triple {587#true} ~cond := #in~cond; {587#true} is VALID [2022-04-07 13:38:04,865 INFO L272 TraceCheckUtils]: 17: Hoare triple {643#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {587#true} is VALID [2022-04-07 13:38:04,865 INFO L290 TraceCheckUtils]: 16: Hoare triple {639#(<= 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; {643#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:04,866 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {632#(not (= |assume_abort_if_not_#in~cond| 0))} {587#true} #80#return; {639#(<= 1 main_~y~0)} is VALID [2022-04-07 13:38:04,866 INFO L290 TraceCheckUtils]: 14: Hoare triple {632#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {632#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:38:04,866 INFO L290 TraceCheckUtils]: 13: Hoare triple {758#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {632#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:38:04,867 INFO L290 TraceCheckUtils]: 12: Hoare triple {587#true} ~cond := #in~cond; {758#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-07 13:38:04,867 INFO L272 TraceCheckUtils]: 11: Hoare triple {587#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {587#true} is VALID [2022-04-07 13:38:04,867 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {587#true} {587#true} #78#return; {587#true} is VALID [2022-04-07 13:38:04,867 INFO L290 TraceCheckUtils]: 9: Hoare triple {587#true} assume true; {587#true} is VALID [2022-04-07 13:38:04,867 INFO L290 TraceCheckUtils]: 8: Hoare triple {587#true} assume !(0 == ~cond); {587#true} is VALID [2022-04-07 13:38:04,867 INFO L290 TraceCheckUtils]: 7: Hoare triple {587#true} ~cond := #in~cond; {587#true} is VALID [2022-04-07 13:38:04,867 INFO L272 TraceCheckUtils]: 6: Hoare triple {587#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {587#true} is VALID [2022-04-07 13:38:04,867 INFO L290 TraceCheckUtils]: 5: Hoare triple {587#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {587#true} is VALID [2022-04-07 13:38:04,867 INFO L272 TraceCheckUtils]: 4: Hoare triple {587#true} call #t~ret8 := main(); {587#true} is VALID [2022-04-07 13:38:04,867 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {587#true} {587#true} #98#return; {587#true} is VALID [2022-04-07 13:38:04,868 INFO L290 TraceCheckUtils]: 2: Hoare triple {587#true} assume true; {587#true} is VALID [2022-04-07 13:38:04,868 INFO L290 TraceCheckUtils]: 1: Hoare triple {587#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);~counter~0 := 0; {587#true} is VALID [2022-04-07 13:38:04,868 INFO L272 TraceCheckUtils]: 0: Hoare triple {587#true} call ULTIMATE.init(); {587#true} is VALID [2022-04-07 13:38:04,868 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-07 13:38:04,869 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:38:04,869 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [649248592] [2022-04-07 13:38:04,869 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:38:04,869 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [420881239] [2022-04-07 13:38:04,869 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [420881239] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:38:04,869 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:38:04,869 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-07 13:38:04,869 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1970679616] [2022-04-07 13:38:04,869 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:38:04,870 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, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-07 13:38:04,870 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:38:04,870 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, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:04,889 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:38:04,889 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-07 13:38:04,889 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:38:04,889 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-07 13:38:04,890 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-07 13:38:04,890 INFO L87 Difference]: Start difference. First operand 36 states and 47 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, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:05,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:05,130 INFO L93 Difference]: Finished difference Result 53 states and 71 transitions. [2022-04-07 13:38:05,130 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-07 13:38:05,131 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, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-07 13:38:05,131 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:38:05,131 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, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:05,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 71 transitions. [2022-04-07 13:38:05,133 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, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:05,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 71 transitions. [2022-04-07 13:38:05,134 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 71 transitions. [2022-04-07 13:38:05,192 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:38:05,194 INFO L225 Difference]: With dead ends: 53 [2022-04-07 13:38:05,194 INFO L226 Difference]: Without dead ends: 45 [2022-04-07 13:38:05,194 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 61 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-07 13:38:05,195 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 30 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 74 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 135 SdHoareTripleChecker+Invalid, 85 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 74 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 13:38:05,195 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 135 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 74 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 13:38:05,196 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-07 13:38:05,209 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 37. [2022-04-07 13:38:05,209 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:38:05,210 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:05,210 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:05,210 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:05,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:05,212 INFO L93 Difference]: Finished difference Result 45 states and 62 transitions. [2022-04-07 13:38:05,212 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-07 13:38:05,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:05,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:05,213 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 45 states. [2022-04-07 13:38:05,213 INFO L87 Difference]: Start difference. First operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 45 states. [2022-04-07 13:38:05,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:05,215 INFO L93 Difference]: Finished difference Result 45 states and 62 transitions. [2022-04-07 13:38:05,215 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-07 13:38:05,216 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:05,216 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:05,216 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:38:05,216 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:38:05,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:05,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 48 transitions. [2022-04-07 13:38:05,217 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 48 transitions. Word has length 34 [2022-04-07 13:38:05,217 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:38:05,217 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 48 transitions. [2022-04-07 13:38:05,218 INFO L479 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, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:05,218 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-04-07 13:38:05,218 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-07 13:38:05,218 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:38:05,218 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:38:05,235 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-07 13:38:05,435 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-07 13:38:05,435 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:38:05,436 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:38:05,436 INFO L85 PathProgramCache]: Analyzing trace with hash 1678606280, now seen corresponding path program 1 times [2022-04-07 13:38:05,436 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:38:05,436 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [48101147] [2022-04-07 13:38:05,436 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:05,436 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:38:05,455 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:38:05,456 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1442422062] [2022-04-07 13:38:05,456 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:05,456 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:38:05,456 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:38:05,457 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:38:05,458 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-07 13:38:05,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:05,501 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-07 13:38:05,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:05,511 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:38:05,672 INFO L272 TraceCheckUtils]: 0: Hoare triple {1027#true} call ULTIMATE.init(); {1027#true} is VALID [2022-04-07 13:38:05,672 INFO L290 TraceCheckUtils]: 1: Hoare triple {1027#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);~counter~0 := 0; {1027#true} is VALID [2022-04-07 13:38:05,672 INFO L290 TraceCheckUtils]: 2: Hoare triple {1027#true} assume true; {1027#true} is VALID [2022-04-07 13:38:05,672 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1027#true} {1027#true} #98#return; {1027#true} is VALID [2022-04-07 13:38:05,672 INFO L272 TraceCheckUtils]: 4: Hoare triple {1027#true} call #t~ret8 := main(); {1027#true} is VALID [2022-04-07 13:38:05,672 INFO L290 TraceCheckUtils]: 5: Hoare triple {1027#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1027#true} is VALID [2022-04-07 13:38:05,673 INFO L272 TraceCheckUtils]: 6: Hoare triple {1027#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1027#true} is VALID [2022-04-07 13:38:05,673 INFO L290 TraceCheckUtils]: 7: Hoare triple {1027#true} ~cond := #in~cond; {1027#true} is VALID [2022-04-07 13:38:05,673 INFO L290 TraceCheckUtils]: 8: Hoare triple {1027#true} assume !(0 == ~cond); {1027#true} is VALID [2022-04-07 13:38:05,673 INFO L290 TraceCheckUtils]: 9: Hoare triple {1027#true} assume true; {1027#true} is VALID [2022-04-07 13:38:05,673 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1027#true} {1027#true} #78#return; {1027#true} is VALID [2022-04-07 13:38:05,673 INFO L272 TraceCheckUtils]: 11: Hoare triple {1027#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1027#true} is VALID [2022-04-07 13:38:05,673 INFO L290 TraceCheckUtils]: 12: Hoare triple {1027#true} ~cond := #in~cond; {1068#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 13:38:05,674 INFO L290 TraceCheckUtils]: 13: Hoare triple {1068#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1072#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:38:05,674 INFO L290 TraceCheckUtils]: 14: Hoare triple {1072#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1072#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:38:05,675 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1072#(not (= |assume_abort_if_not_#in~cond| 0))} {1027#true} #80#return; {1079#(<= 1 main_~y~0)} is VALID [2022-04-07 13:38:05,675 INFO L290 TraceCheckUtils]: 16: Hoare triple {1079#(<= 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; {1083#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:05,675 INFO L272 TraceCheckUtils]: 17: Hoare triple {1083#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1027#true} is VALID [2022-04-07 13:38:05,675 INFO L290 TraceCheckUtils]: 18: Hoare triple {1027#true} ~cond := #in~cond; {1027#true} is VALID [2022-04-07 13:38:05,676 INFO L290 TraceCheckUtils]: 19: Hoare triple {1027#true} assume !(0 == ~cond); {1027#true} is VALID [2022-04-07 13:38:05,676 INFO L290 TraceCheckUtils]: 20: Hoare triple {1027#true} assume true; {1027#true} is VALID [2022-04-07 13:38:05,676 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1027#true} {1083#(<= 1 main_~b~0)} #82#return; {1083#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:05,676 INFO L272 TraceCheckUtils]: 22: Hoare triple {1083#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1027#true} is VALID [2022-04-07 13:38:05,676 INFO L290 TraceCheckUtils]: 23: Hoare triple {1027#true} ~cond := #in~cond; {1027#true} is VALID [2022-04-07 13:38:05,676 INFO L290 TraceCheckUtils]: 24: Hoare triple {1027#true} assume !(0 == ~cond); {1027#true} is VALID [2022-04-07 13:38:05,676 INFO L290 TraceCheckUtils]: 25: Hoare triple {1027#true} assume true; {1027#true} is VALID [2022-04-07 13:38:05,677 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1027#true} {1083#(<= 1 main_~b~0)} #84#return; {1083#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:05,678 INFO L290 TraceCheckUtils]: 27: Hoare triple {1083#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1083#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:05,678 INFO L290 TraceCheckUtils]: 28: Hoare triple {1083#(<= 1 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {1083#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:05,678 INFO L290 TraceCheckUtils]: 29: Hoare triple {1083#(<= 1 main_~b~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1123#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-07 13:38:05,679 INFO L290 TraceCheckUtils]: 30: Hoare triple {1123#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1123#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-07 13:38:05,679 INFO L290 TraceCheckUtils]: 31: Hoare triple {1123#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} assume !!(#t~post7 < 100);havoc #t~post7; {1123#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-07 13:38:05,680 INFO L272 TraceCheckUtils]: 32: Hoare triple {1123#(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)); {1133#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:38:05,680 INFO L290 TraceCheckUtils]: 33: Hoare triple {1133#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1137#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:38:05,681 INFO L290 TraceCheckUtils]: 34: Hoare triple {1137#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1028#false} is VALID [2022-04-07 13:38:05,681 INFO L290 TraceCheckUtils]: 35: Hoare triple {1028#false} assume !false; {1028#false} is VALID [2022-04-07 13:38:05,681 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-07 13:38:05,681 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:38:05,840 INFO L290 TraceCheckUtils]: 35: Hoare triple {1028#false} assume !false; {1028#false} is VALID [2022-04-07 13:38:05,841 INFO L290 TraceCheckUtils]: 34: Hoare triple {1137#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1028#false} is VALID [2022-04-07 13:38:05,841 INFO L290 TraceCheckUtils]: 33: Hoare triple {1133#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1137#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:38:05,842 INFO L272 TraceCheckUtils]: 32: Hoare triple {1153#(= 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)); {1133#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:38:05,842 INFO L290 TraceCheckUtils]: 31: Hoare triple {1153#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {1153#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-07 13:38:05,844 INFO L290 TraceCheckUtils]: 30: Hoare triple {1153#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1153#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-07 13:38:05,845 INFO L290 TraceCheckUtils]: 29: Hoare triple {1027#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1153#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-07 13:38:05,845 INFO L290 TraceCheckUtils]: 28: Hoare triple {1027#true} assume !!(#t~post6 < 100);havoc #t~post6; {1027#true} is VALID [2022-04-07 13:38:05,845 INFO L290 TraceCheckUtils]: 27: Hoare triple {1027#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1027#true} is VALID [2022-04-07 13:38:05,845 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1027#true} {1027#true} #84#return; {1027#true} is VALID [2022-04-07 13:38:05,845 INFO L290 TraceCheckUtils]: 25: Hoare triple {1027#true} assume true; {1027#true} is VALID [2022-04-07 13:38:05,845 INFO L290 TraceCheckUtils]: 24: Hoare triple {1027#true} assume !(0 == ~cond); {1027#true} is VALID [2022-04-07 13:38:05,845 INFO L290 TraceCheckUtils]: 23: Hoare triple {1027#true} ~cond := #in~cond; {1027#true} is VALID [2022-04-07 13:38:05,845 INFO L272 TraceCheckUtils]: 22: Hoare triple {1027#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1027#true} is VALID [2022-04-07 13:38:05,846 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1027#true} {1027#true} #82#return; {1027#true} is VALID [2022-04-07 13:38:05,846 INFO L290 TraceCheckUtils]: 20: Hoare triple {1027#true} assume true; {1027#true} is VALID [2022-04-07 13:38:05,846 INFO L290 TraceCheckUtils]: 19: Hoare triple {1027#true} assume !(0 == ~cond); {1027#true} is VALID [2022-04-07 13:38:05,846 INFO L290 TraceCheckUtils]: 18: Hoare triple {1027#true} ~cond := #in~cond; {1027#true} is VALID [2022-04-07 13:38:05,846 INFO L272 TraceCheckUtils]: 17: Hoare triple {1027#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1027#true} is VALID [2022-04-07 13:38:05,846 INFO L290 TraceCheckUtils]: 16: Hoare triple {1027#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; {1027#true} is VALID [2022-04-07 13:38:05,846 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1027#true} {1027#true} #80#return; {1027#true} is VALID [2022-04-07 13:38:05,846 INFO L290 TraceCheckUtils]: 14: Hoare triple {1027#true} assume true; {1027#true} is VALID [2022-04-07 13:38:05,846 INFO L290 TraceCheckUtils]: 13: Hoare triple {1027#true} assume !(0 == ~cond); {1027#true} is VALID [2022-04-07 13:38:05,846 INFO L290 TraceCheckUtils]: 12: Hoare triple {1027#true} ~cond := #in~cond; {1027#true} is VALID [2022-04-07 13:38:05,846 INFO L272 TraceCheckUtils]: 11: Hoare triple {1027#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1027#true} is VALID [2022-04-07 13:38:05,846 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1027#true} {1027#true} #78#return; {1027#true} is VALID [2022-04-07 13:38:05,846 INFO L290 TraceCheckUtils]: 9: Hoare triple {1027#true} assume true; {1027#true} is VALID [2022-04-07 13:38:05,846 INFO L290 TraceCheckUtils]: 8: Hoare triple {1027#true} assume !(0 == ~cond); {1027#true} is VALID [2022-04-07 13:38:05,847 INFO L290 TraceCheckUtils]: 7: Hoare triple {1027#true} ~cond := #in~cond; {1027#true} is VALID [2022-04-07 13:38:05,847 INFO L272 TraceCheckUtils]: 6: Hoare triple {1027#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1027#true} is VALID [2022-04-07 13:38:05,847 INFO L290 TraceCheckUtils]: 5: Hoare triple {1027#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1027#true} is VALID [2022-04-07 13:38:05,847 INFO L272 TraceCheckUtils]: 4: Hoare triple {1027#true} call #t~ret8 := main(); {1027#true} is VALID [2022-04-07 13:38:05,847 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1027#true} {1027#true} #98#return; {1027#true} is VALID [2022-04-07 13:38:05,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {1027#true} assume true; {1027#true} is VALID [2022-04-07 13:38:05,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {1027#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);~counter~0 := 0; {1027#true} is VALID [2022-04-07 13:38:05,847 INFO L272 TraceCheckUtils]: 0: Hoare triple {1027#true} call ULTIMATE.init(); {1027#true} is VALID [2022-04-07 13:38:05,847 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 13:38:05,847 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:38:05,847 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [48101147] [2022-04-07 13:38:05,848 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:38:05,848 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1442422062] [2022-04-07 13:38:05,848 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1442422062] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-07 13:38:05,848 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-07 13:38:05,848 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-07 13:38:05,848 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1209785815] [2022-04-07 13:38:05,848 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:38:05,848 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 36 [2022-04-07 13:38:05,849 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:38:05,849 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 13:38:05,864 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:38:05,864 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 13:38:05,864 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:38:05,864 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 13:38:05,864 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-04-07 13:38:05,865 INFO L87 Difference]: Start difference. First operand 37 states and 48 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 13:38:06,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:06,099 INFO L93 Difference]: Finished difference Result 43 states and 53 transitions. [2022-04-07 13:38:06,099 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 13:38:06,099 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 36 [2022-04-07 13:38:06,099 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:38:06,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 13:38:06,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 50 transitions. [2022-04-07 13:38:06,101 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 13:38:06,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 50 transitions. [2022-04-07 13:38:06,101 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 50 transitions. [2022-04-07 13:38:06,136 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-07 13:38:06,138 INFO L225 Difference]: With dead ends: 43 [2022-04-07 13:38:06,138 INFO L226 Difference]: Without dead ends: 41 [2022-04-07 13:38:06,138 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 62 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-07 13:38:06,139 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 7 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 131 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-07 13:38:06,139 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 131 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 13:38:06,139 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-07 13:38:06,155 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2022-04-07 13:38:06,155 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:38:06,155 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 41 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 25 states have internal predecessors, (29), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:06,156 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 41 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 25 states have internal predecessors, (29), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:06,156 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 41 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 25 states have internal predecessors, (29), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:06,157 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:06,157 INFO L93 Difference]: Finished difference Result 41 states and 51 transitions. [2022-04-07 13:38:06,157 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 51 transitions. [2022-04-07 13:38:06,158 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:06,158 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:06,158 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 25 states have internal predecessors, (29), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 41 states. [2022-04-07 13:38:06,158 INFO L87 Difference]: Start difference. First operand has 41 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 25 states have internal predecessors, (29), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 41 states. [2022-04-07 13:38:06,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:06,160 INFO L93 Difference]: Finished difference Result 41 states and 51 transitions. [2022-04-07 13:38:06,160 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 51 transitions. [2022-04-07 13:38:06,160 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:06,160 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:06,160 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:38:06,160 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:38:06,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 25 states have internal predecessors, (29), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:06,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 51 transitions. [2022-04-07 13:38:06,161 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 51 transitions. Word has length 36 [2022-04-07 13:38:06,161 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:38:06,161 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 51 transitions. [2022-04-07 13:38:06,162 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 13:38:06,162 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 51 transitions. [2022-04-07 13:38:06,162 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-07 13:38:06,162 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:38:06,162 INFO L499 BasicCegarLoop]: trace histogram [4, 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] [2022-04-07 13:38:06,181 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-07 13:38:06,379 WARN L460 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-07 13:38:06,380 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:38:06,380 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:38:06,380 INFO L85 PathProgramCache]: Analyzing trace with hash -2124209112, now seen corresponding path program 1 times [2022-04-07 13:38:06,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:38:06,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1143955787] [2022-04-07 13:38:06,380 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:06,380 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:38:06,396 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:38:06,396 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [627644291] [2022-04-07 13:38:06,396 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:06,396 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:38:06,397 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:38:06,397 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:38:06,398 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-07 13:38:06,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:06,443 INFO L263 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 13:38:06,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:06,453 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:38:06,601 INFO L272 TraceCheckUtils]: 0: Hoare triple {1460#true} call ULTIMATE.init(); {1460#true} is VALID [2022-04-07 13:38:06,602 INFO L290 TraceCheckUtils]: 1: Hoare triple {1460#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);~counter~0 := 0; {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,602 INFO L290 TraceCheckUtils]: 2: Hoare triple {1468#(<= ~counter~0 0)} assume true; {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,603 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1468#(<= ~counter~0 0)} {1460#true} #98#return; {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,603 INFO L272 TraceCheckUtils]: 4: Hoare triple {1468#(<= ~counter~0 0)} call #t~ret8 := main(); {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,604 INFO L290 TraceCheckUtils]: 5: Hoare triple {1468#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,604 INFO L272 TraceCheckUtils]: 6: Hoare triple {1468#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,604 INFO L290 TraceCheckUtils]: 7: Hoare triple {1468#(<= ~counter~0 0)} ~cond := #in~cond; {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,605 INFO L290 TraceCheckUtils]: 8: Hoare triple {1468#(<= ~counter~0 0)} assume !(0 == ~cond); {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,605 INFO L290 TraceCheckUtils]: 9: Hoare triple {1468#(<= ~counter~0 0)} assume true; {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,605 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1468#(<= ~counter~0 0)} {1468#(<= ~counter~0 0)} #78#return; {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,606 INFO L272 TraceCheckUtils]: 11: Hoare triple {1468#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,606 INFO L290 TraceCheckUtils]: 12: Hoare triple {1468#(<= ~counter~0 0)} ~cond := #in~cond; {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,606 INFO L290 TraceCheckUtils]: 13: Hoare triple {1468#(<= ~counter~0 0)} assume !(0 == ~cond); {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,607 INFO L290 TraceCheckUtils]: 14: Hoare triple {1468#(<= ~counter~0 0)} assume true; {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,607 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1468#(<= ~counter~0 0)} {1468#(<= ~counter~0 0)} #80#return; {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,612 INFO L290 TraceCheckUtils]: 16: Hoare triple {1468#(<= ~counter~0 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; {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,612 INFO L272 TraceCheckUtils]: 17: Hoare triple {1468#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,613 INFO L290 TraceCheckUtils]: 18: Hoare triple {1468#(<= ~counter~0 0)} ~cond := #in~cond; {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,613 INFO L290 TraceCheckUtils]: 19: Hoare triple {1468#(<= ~counter~0 0)} assume !(0 == ~cond); {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,613 INFO L290 TraceCheckUtils]: 20: Hoare triple {1468#(<= ~counter~0 0)} assume true; {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,614 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1468#(<= ~counter~0 0)} {1468#(<= ~counter~0 0)} #82#return; {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,614 INFO L272 TraceCheckUtils]: 22: Hoare triple {1468#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,614 INFO L290 TraceCheckUtils]: 23: Hoare triple {1468#(<= ~counter~0 0)} ~cond := #in~cond; {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,614 INFO L290 TraceCheckUtils]: 24: Hoare triple {1468#(<= ~counter~0 0)} assume !(0 == ~cond); {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,615 INFO L290 TraceCheckUtils]: 25: Hoare triple {1468#(<= ~counter~0 0)} assume true; {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,615 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1468#(<= ~counter~0 0)} {1468#(<= ~counter~0 0)} #84#return; {1468#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:06,616 INFO L290 TraceCheckUtils]: 27: Hoare triple {1468#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1547#(<= ~counter~0 1)} is VALID [2022-04-07 13:38:06,616 INFO L290 TraceCheckUtils]: 28: Hoare triple {1547#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {1547#(<= ~counter~0 1)} is VALID [2022-04-07 13:38:06,616 INFO L290 TraceCheckUtils]: 29: Hoare triple {1547#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1547#(<= ~counter~0 1)} is VALID [2022-04-07 13:38:06,617 INFO L290 TraceCheckUtils]: 30: Hoare triple {1547#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1557#(<= |main_#t~post7| 1)} is VALID [2022-04-07 13:38:06,617 INFO L290 TraceCheckUtils]: 31: Hoare triple {1557#(<= |main_#t~post7| 1)} assume !(#t~post7 < 100);havoc #t~post7; {1461#false} is VALID [2022-04-07 13:38:06,617 INFO L290 TraceCheckUtils]: 32: Hoare triple {1461#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; {1461#false} is VALID [2022-04-07 13:38:06,617 INFO L290 TraceCheckUtils]: 33: Hoare triple {1461#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1461#false} is VALID [2022-04-07 13:38:06,617 INFO L290 TraceCheckUtils]: 34: Hoare triple {1461#false} assume !(#t~post6 < 100);havoc #t~post6; {1461#false} is VALID [2022-04-07 13:38:06,617 INFO L272 TraceCheckUtils]: 35: Hoare triple {1461#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {1461#false} is VALID [2022-04-07 13:38:06,617 INFO L290 TraceCheckUtils]: 36: Hoare triple {1461#false} ~cond := #in~cond; {1461#false} is VALID [2022-04-07 13:38:06,617 INFO L290 TraceCheckUtils]: 37: Hoare triple {1461#false} assume 0 == ~cond; {1461#false} is VALID [2022-04-07 13:38:06,617 INFO L290 TraceCheckUtils]: 38: Hoare triple {1461#false} assume !false; {1461#false} is VALID [2022-04-07 13:38:06,618 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 13:38:06,618 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 13:38:06,618 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:38:06,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1143955787] [2022-04-07 13:38:06,618 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:38:06,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [627644291] [2022-04-07 13:38:06,618 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [627644291] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 13:38:06,618 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 13:38:06,618 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 13:38:06,618 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1996104206] [2022-04-07 13:38:06,618 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:38:06,619 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-07 13:38:06,619 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:38:06,619 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:06,640 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:38:06,640 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 13:38:06,641 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:38:06,641 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 13:38:06,641 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-07 13:38:06,641 INFO L87 Difference]: Start difference. First operand 41 states and 51 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:06,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:06,746 INFO L93 Difference]: Finished difference Result 66 states and 84 transitions. [2022-04-07 13:38:06,747 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 13:38:06,747 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-07 13:38:06,747 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:38:06,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:06,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-07 13:38:06,748 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:06,749 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-07 13:38:06,749 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-07 13:38:06,789 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-07 13:38:06,790 INFO L225 Difference]: With dead ends: 66 [2022-04-07 13:38:06,790 INFO L226 Difference]: Without dead ends: 43 [2022-04-07 13:38:06,790 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-07 13:38:06,791 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 6 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 110 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 13:38:06,791 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 110 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 13:38:06,791 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-07 13:38:06,806 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 43. [2022-04-07 13:38:06,806 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:38:06,806 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand has 43 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 27 states have internal predecessors, (31), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:06,806 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand has 43 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 27 states have internal predecessors, (31), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:06,806 INFO L87 Difference]: Start difference. First operand 43 states. Second operand has 43 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 27 states have internal predecessors, (31), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:06,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:06,808 INFO L93 Difference]: Finished difference Result 43 states and 53 transitions. [2022-04-07 13:38:06,808 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 53 transitions. [2022-04-07 13:38:06,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:06,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:06,808 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 27 states have internal predecessors, (31), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 43 states. [2022-04-07 13:38:06,809 INFO L87 Difference]: Start difference. First operand has 43 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 27 states have internal predecessors, (31), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 43 states. [2022-04-07 13:38:06,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:06,810 INFO L93 Difference]: Finished difference Result 43 states and 53 transitions. [2022-04-07 13:38:06,810 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 53 transitions. [2022-04-07 13:38:06,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:06,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:06,810 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:38:06,810 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:38:06,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 27 states have internal predecessors, (31), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 13:38:06,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 53 transitions. [2022-04-07 13:38:06,811 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 53 transitions. Word has length 39 [2022-04-07 13:38:06,812 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:38:06,812 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 53 transitions. [2022-04-07 13:38:06,812 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 13:38:06,812 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 53 transitions. [2022-04-07 13:38:06,812 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-07 13:38:06,812 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:38:06,812 INFO L499 BasicCegarLoop]: trace histogram [4, 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] [2022-04-07 13:38:06,833 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-07 13:38:07,031 WARN L460 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-07 13:38:07,031 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:38:07,032 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:38:07,032 INFO L85 PathProgramCache]: Analyzing trace with hash 1052701339, now seen corresponding path program 1 times [2022-04-07 13:38:07,032 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:38:07,032 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [198735779] [2022-04-07 13:38:07,032 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:07,032 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:38:07,042 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:38:07,043 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1385962805] [2022-04-07 13:38:07,043 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:07,043 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:38:07,043 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:38:07,055 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:38:07,056 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-07 13:38:07,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:07,106 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-07 13:38:07,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:07,116 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:38:07,340 INFO L272 TraceCheckUtils]: 0: Hoare triple {1828#true} call ULTIMATE.init(); {1828#true} is VALID [2022-04-07 13:38:07,340 INFO L290 TraceCheckUtils]: 1: Hoare triple {1828#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);~counter~0 := 0; {1828#true} is VALID [2022-04-07 13:38:07,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {1828#true} assume true; {1828#true} is VALID [2022-04-07 13:38:07,340 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1828#true} {1828#true} #98#return; {1828#true} is VALID [2022-04-07 13:38:07,340 INFO L272 TraceCheckUtils]: 4: Hoare triple {1828#true} call #t~ret8 := main(); {1828#true} is VALID [2022-04-07 13:38:07,340 INFO L290 TraceCheckUtils]: 5: Hoare triple {1828#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1828#true} is VALID [2022-04-07 13:38:07,340 INFO L272 TraceCheckUtils]: 6: Hoare triple {1828#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1828#true} is VALID [2022-04-07 13:38:07,340 INFO L290 TraceCheckUtils]: 7: Hoare triple {1828#true} ~cond := #in~cond; {1828#true} is VALID [2022-04-07 13:38:07,340 INFO L290 TraceCheckUtils]: 8: Hoare triple {1828#true} assume !(0 == ~cond); {1828#true} is VALID [2022-04-07 13:38:07,340 INFO L290 TraceCheckUtils]: 9: Hoare triple {1828#true} assume true; {1828#true} is VALID [2022-04-07 13:38:07,341 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1828#true} {1828#true} #78#return; {1828#true} is VALID [2022-04-07 13:38:07,341 INFO L272 TraceCheckUtils]: 11: Hoare triple {1828#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1828#true} is VALID [2022-04-07 13:38:07,341 INFO L290 TraceCheckUtils]: 12: Hoare triple {1828#true} ~cond := #in~cond; {1869#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 13:38:07,341 INFO L290 TraceCheckUtils]: 13: Hoare triple {1869#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1873#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:38:07,341 INFO L290 TraceCheckUtils]: 14: Hoare triple {1873#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1873#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:38:07,342 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1873#(not (= |assume_abort_if_not_#in~cond| 0))} {1828#true} #80#return; {1880#(<= 1 main_~y~0)} is VALID [2022-04-07 13:38:07,342 INFO L290 TraceCheckUtils]: 16: Hoare triple {1880#(<= 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; {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:38:07,343 INFO L272 TraceCheckUtils]: 17: Hoare triple {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1828#true} is VALID [2022-04-07 13:38:07,343 INFO L290 TraceCheckUtils]: 18: Hoare triple {1828#true} ~cond := #in~cond; {1828#true} is VALID [2022-04-07 13:38:07,343 INFO L290 TraceCheckUtils]: 19: Hoare triple {1828#true} assume !(0 == ~cond); {1828#true} is VALID [2022-04-07 13:38:07,343 INFO L290 TraceCheckUtils]: 20: Hoare triple {1828#true} assume true; {1828#true} is VALID [2022-04-07 13:38:07,343 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1828#true} {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:38:07,343 INFO L272 TraceCheckUtils]: 22: Hoare triple {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1828#true} is VALID [2022-04-07 13:38:07,343 INFO L290 TraceCheckUtils]: 23: Hoare triple {1828#true} ~cond := #in~cond; {1828#true} is VALID [2022-04-07 13:38:07,343 INFO L290 TraceCheckUtils]: 24: Hoare triple {1828#true} assume !(0 == ~cond); {1828#true} is VALID [2022-04-07 13:38:07,343 INFO L290 TraceCheckUtils]: 25: Hoare triple {1828#true} assume true; {1828#true} is VALID [2022-04-07 13:38:07,344 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1828#true} {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:38:07,344 INFO L290 TraceCheckUtils]: 27: Hoare triple {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:38:07,345 INFO L290 TraceCheckUtils]: 28: Hoare triple {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:38:07,345 INFO L290 TraceCheckUtils]: 29: Hoare triple {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:38:07,345 INFO L290 TraceCheckUtils]: 30: Hoare triple {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:38:07,346 INFO L290 TraceCheckUtils]: 31: Hoare triple {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:38:07,346 INFO L272 TraceCheckUtils]: 32: Hoare triple {1884#(and (= main_~r~0 0) (<= 1 main_~y~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)); {1828#true} is VALID [2022-04-07 13:38:07,346 INFO L290 TraceCheckUtils]: 33: Hoare triple {1828#true} ~cond := #in~cond; {1828#true} is VALID [2022-04-07 13:38:07,346 INFO L290 TraceCheckUtils]: 34: Hoare triple {1828#true} assume !(0 == ~cond); {1828#true} is VALID [2022-04-07 13:38:07,346 INFO L290 TraceCheckUtils]: 35: Hoare triple {1828#true} assume true; {1828#true} is VALID [2022-04-07 13:38:07,347 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1828#true} {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {1884#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:38:07,347 INFO L272 TraceCheckUtils]: 37: Hoare triple {1884#(and (= main_~r~0 0) (<= 1 main_~y~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)); {1948#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:38:07,348 INFO L290 TraceCheckUtils]: 38: Hoare triple {1948#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1952#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:38:07,348 INFO L290 TraceCheckUtils]: 39: Hoare triple {1952#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1829#false} is VALID [2022-04-07 13:38:07,348 INFO L290 TraceCheckUtils]: 40: Hoare triple {1829#false} assume !false; {1829#false} is VALID [2022-04-07 13:38:07,348 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 5 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-07 13:38:07,348 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:38:07,548 INFO L290 TraceCheckUtils]: 40: Hoare triple {1829#false} assume !false; {1829#false} is VALID [2022-04-07 13:38:07,548 INFO L290 TraceCheckUtils]: 39: Hoare triple {1952#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1829#false} is VALID [2022-04-07 13:38:07,549 INFO L290 TraceCheckUtils]: 38: Hoare triple {1948#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1952#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:38:07,550 INFO L272 TraceCheckUtils]: 37: Hoare triple {1968#(= 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)); {1948#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:38:07,550 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1828#true} {1968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #86#return; {1968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:38:07,551 INFO L290 TraceCheckUtils]: 35: Hoare triple {1828#true} assume true; {1828#true} is VALID [2022-04-07 13:38:07,551 INFO L290 TraceCheckUtils]: 34: Hoare triple {1828#true} assume !(0 == ~cond); {1828#true} is VALID [2022-04-07 13:38:07,551 INFO L290 TraceCheckUtils]: 33: Hoare triple {1828#true} ~cond := #in~cond; {1828#true} is VALID [2022-04-07 13:38:07,551 INFO L272 TraceCheckUtils]: 32: Hoare triple {1968#(= 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)); {1828#true} is VALID [2022-04-07 13:38:07,551 INFO L290 TraceCheckUtils]: 31: Hoare triple {1968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {1968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:38:07,552 INFO L290 TraceCheckUtils]: 30: Hoare triple {1968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:38:07,552 INFO L290 TraceCheckUtils]: 29: Hoare triple {1968#(= 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; {1968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:38:07,552 INFO L290 TraceCheckUtils]: 28: Hoare triple {1968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {1968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:38:07,553 INFO L290 TraceCheckUtils]: 27: Hoare triple {1968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:38:07,553 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1828#true} {1968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #84#return; {1968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:38:07,553 INFO L290 TraceCheckUtils]: 25: Hoare triple {1828#true} assume true; {1828#true} is VALID [2022-04-07 13:38:07,553 INFO L290 TraceCheckUtils]: 24: Hoare triple {1828#true} assume !(0 == ~cond); {1828#true} is VALID [2022-04-07 13:38:07,554 INFO L290 TraceCheckUtils]: 23: Hoare triple {1828#true} ~cond := #in~cond; {1828#true} is VALID [2022-04-07 13:38:07,554 INFO L272 TraceCheckUtils]: 22: Hoare triple {1968#(= 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)); {1828#true} is VALID [2022-04-07 13:38:07,554 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1828#true} {1968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #82#return; {1968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:38:07,554 INFO L290 TraceCheckUtils]: 20: Hoare triple {1828#true} assume true; {1828#true} is VALID [2022-04-07 13:38:07,554 INFO L290 TraceCheckUtils]: 19: Hoare triple {1828#true} assume !(0 == ~cond); {1828#true} is VALID [2022-04-07 13:38:07,554 INFO L290 TraceCheckUtils]: 18: Hoare triple {1828#true} ~cond := #in~cond; {1828#true} is VALID [2022-04-07 13:38:07,554 INFO L272 TraceCheckUtils]: 17: Hoare triple {1968#(= 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)); {1828#true} is VALID [2022-04-07 13:38:07,555 INFO L290 TraceCheckUtils]: 16: Hoare triple {1828#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; {1968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:38:07,555 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1828#true} {1828#true} #80#return; {1828#true} is VALID [2022-04-07 13:38:07,555 INFO L290 TraceCheckUtils]: 14: Hoare triple {1828#true} assume true; {1828#true} is VALID [2022-04-07 13:38:07,555 INFO L290 TraceCheckUtils]: 13: Hoare triple {1828#true} assume !(0 == ~cond); {1828#true} is VALID [2022-04-07 13:38:07,555 INFO L290 TraceCheckUtils]: 12: Hoare triple {1828#true} ~cond := #in~cond; {1828#true} is VALID [2022-04-07 13:38:07,555 INFO L272 TraceCheckUtils]: 11: Hoare triple {1828#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1828#true} is VALID [2022-04-07 13:38:07,555 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1828#true} {1828#true} #78#return; {1828#true} is VALID [2022-04-07 13:38:07,555 INFO L290 TraceCheckUtils]: 9: Hoare triple {1828#true} assume true; {1828#true} is VALID [2022-04-07 13:38:07,555 INFO L290 TraceCheckUtils]: 8: Hoare triple {1828#true} assume !(0 == ~cond); {1828#true} is VALID [2022-04-07 13:38:07,555 INFO L290 TraceCheckUtils]: 7: Hoare triple {1828#true} ~cond := #in~cond; {1828#true} is VALID [2022-04-07 13:38:07,556 INFO L272 TraceCheckUtils]: 6: Hoare triple {1828#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1828#true} is VALID [2022-04-07 13:38:07,556 INFO L290 TraceCheckUtils]: 5: Hoare triple {1828#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1828#true} is VALID [2022-04-07 13:38:07,556 INFO L272 TraceCheckUtils]: 4: Hoare triple {1828#true} call #t~ret8 := main(); {1828#true} is VALID [2022-04-07 13:38:07,556 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1828#true} {1828#true} #98#return; {1828#true} is VALID [2022-04-07 13:38:07,556 INFO L290 TraceCheckUtils]: 2: Hoare triple {1828#true} assume true; {1828#true} is VALID [2022-04-07 13:38:07,556 INFO L290 TraceCheckUtils]: 1: Hoare triple {1828#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);~counter~0 := 0; {1828#true} is VALID [2022-04-07 13:38:07,556 INFO L272 TraceCheckUtils]: 0: Hoare triple {1828#true} call ULTIMATE.init(); {1828#true} is VALID [2022-04-07 13:38:07,556 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 13:38:07,556 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:38:07,556 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [198735779] [2022-04-07 13:38:07,556 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:38:07,556 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1385962805] [2022-04-07 13:38:07,556 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1385962805] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-07 13:38:07,557 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-07 13:38:07,557 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-07 13:38:07,557 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [470892243] [2022-04-07 13:38:07,557 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:38:07,557 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 41 [2022-04-07 13:38:07,557 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:38:07,557 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-07 13:38:07,578 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:38:07,578 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 13:38:07,578 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:38:07,578 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 13:38:07,578 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-07 13:38:07,579 INFO L87 Difference]: Start difference. First operand 43 states and 53 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-07 13:38:07,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:07,832 INFO L93 Difference]: Finished difference Result 57 states and 72 transitions. [2022-04-07 13:38:07,832 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 13:38:07,832 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 41 [2022-04-07 13:38:07,832 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:38:07,832 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-07 13:38:07,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-07 13:38:07,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-07 13:38:07,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-07 13:38:07,834 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 67 transitions. [2022-04-07 13:38:07,876 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:38:07,877 INFO L225 Difference]: With dead ends: 57 [2022-04-07 13:38:07,877 INFO L226 Difference]: Without dead ends: 55 [2022-04-07 13:38:07,878 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-07 13:38:07,878 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 8 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 157 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 13:38:07,878 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 157 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 13:38:07,879 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-07 13:38:07,901 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 54. [2022-04-07 13:38:07,902 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:38:07,902 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 54 states, 32 states have (on average 1.21875) internal successors, (39), 33 states have internal predecessors, (39), 16 states have call successors, (16), 6 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-07 13:38:07,902 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 54 states, 32 states have (on average 1.21875) internal successors, (39), 33 states have internal predecessors, (39), 16 states have call successors, (16), 6 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-07 13:38:07,902 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 54 states, 32 states have (on average 1.21875) internal successors, (39), 33 states have internal predecessors, (39), 16 states have call successors, (16), 6 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-07 13:38:07,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:07,904 INFO L93 Difference]: Finished difference Result 55 states and 70 transitions. [2022-04-07 13:38:07,904 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 70 transitions. [2022-04-07 13:38:07,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:07,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:07,904 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 32 states have (on average 1.21875) internal successors, (39), 33 states have internal predecessors, (39), 16 states have call successors, (16), 6 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 55 states. [2022-04-07 13:38:07,905 INFO L87 Difference]: Start difference. First operand has 54 states, 32 states have (on average 1.21875) internal successors, (39), 33 states have internal predecessors, (39), 16 states have call successors, (16), 6 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 55 states. [2022-04-07 13:38:07,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:07,906 INFO L93 Difference]: Finished difference Result 55 states and 70 transitions. [2022-04-07 13:38:07,906 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 70 transitions. [2022-04-07 13:38:07,906 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:07,906 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:07,906 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:38:07,906 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:38:07,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 32 states have (on average 1.21875) internal successors, (39), 33 states have internal predecessors, (39), 16 states have call successors, (16), 6 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-07 13:38:07,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 69 transitions. [2022-04-07 13:38:07,908 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 69 transitions. Word has length 41 [2022-04-07 13:38:07,908 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:38:07,908 INFO L478 AbstractCegarLoop]: Abstraction has 54 states and 69 transitions. [2022-04-07 13:38:07,908 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-07 13:38:07,908 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 69 transitions. [2022-04-07 13:38:07,909 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-07 13:38:07,909 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:38:07,909 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 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] [2022-04-07 13:38:07,931 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-07 13:38:08,119 WARN L460 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-07 13:38:08,120 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:38:08,120 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:38:08,120 INFO L85 PathProgramCache]: Analyzing trace with hash 1531994984, now seen corresponding path program 1 times [2022-04-07 13:38:08,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:38:08,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1280142918] [2022-04-07 13:38:08,120 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:08,120 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:38:08,131 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:38:08,131 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [297219634] [2022-04-07 13:38:08,131 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:08,131 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:38:08,132 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:38:08,132 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:38:08,133 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-07 13:38:08,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:08,170 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-07 13:38:08,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:08,188 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:38:08,409 INFO L272 TraceCheckUtils]: 0: Hoare triple {2359#true} call ULTIMATE.init(); {2359#true} is VALID [2022-04-07 13:38:08,409 INFO L290 TraceCheckUtils]: 1: Hoare triple {2359#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);~counter~0 := 0; {2359#true} is VALID [2022-04-07 13:38:08,409 INFO L290 TraceCheckUtils]: 2: Hoare triple {2359#true} assume true; {2359#true} is VALID [2022-04-07 13:38:08,410 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2359#true} {2359#true} #98#return; {2359#true} is VALID [2022-04-07 13:38:08,410 INFO L272 TraceCheckUtils]: 4: Hoare triple {2359#true} call #t~ret8 := main(); {2359#true} is VALID [2022-04-07 13:38:08,410 INFO L290 TraceCheckUtils]: 5: Hoare triple {2359#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2359#true} is VALID [2022-04-07 13:38:08,410 INFO L272 TraceCheckUtils]: 6: Hoare triple {2359#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2359#true} is VALID [2022-04-07 13:38:08,410 INFO L290 TraceCheckUtils]: 7: Hoare triple {2359#true} ~cond := #in~cond; {2385#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 13:38:08,410 INFO L290 TraceCheckUtils]: 8: Hoare triple {2385#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2389#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:38:08,411 INFO L290 TraceCheckUtils]: 9: Hoare triple {2389#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2389#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:38:08,411 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2389#(not (= |assume_abort_if_not_#in~cond| 0))} {2359#true} #78#return; {2396#(<= 1 main_~x~0)} is VALID [2022-04-07 13:38:08,411 INFO L272 TraceCheckUtils]: 11: Hoare triple {2396#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2359#true} is VALID [2022-04-07 13:38:08,411 INFO L290 TraceCheckUtils]: 12: Hoare triple {2359#true} ~cond := #in~cond; {2359#true} is VALID [2022-04-07 13:38:08,411 INFO L290 TraceCheckUtils]: 13: Hoare triple {2359#true} assume !(0 == ~cond); {2359#true} is VALID [2022-04-07 13:38:08,411 INFO L290 TraceCheckUtils]: 14: Hoare triple {2359#true} assume true; {2359#true} is VALID [2022-04-07 13:38:08,412 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2359#true} {2396#(<= 1 main_~x~0)} #80#return; {2396#(<= 1 main_~x~0)} is VALID [2022-04-07 13:38:08,412 INFO L290 TraceCheckUtils]: 16: Hoare triple {2396#(<= 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; {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 13:38:08,412 INFO L272 TraceCheckUtils]: 17: Hoare triple {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2359#true} is VALID [2022-04-07 13:38:08,412 INFO L290 TraceCheckUtils]: 18: Hoare triple {2359#true} ~cond := #in~cond; {2359#true} is VALID [2022-04-07 13:38:08,412 INFO L290 TraceCheckUtils]: 19: Hoare triple {2359#true} assume !(0 == ~cond); {2359#true} is VALID [2022-04-07 13:38:08,412 INFO L290 TraceCheckUtils]: 20: Hoare triple {2359#true} assume true; {2359#true} is VALID [2022-04-07 13:38:08,413 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2359#true} {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #82#return; {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 13:38:08,413 INFO L272 TraceCheckUtils]: 22: Hoare triple {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2359#true} is VALID [2022-04-07 13:38:08,413 INFO L290 TraceCheckUtils]: 23: Hoare triple {2359#true} ~cond := #in~cond; {2359#true} is VALID [2022-04-07 13:38:08,413 INFO L290 TraceCheckUtils]: 24: Hoare triple {2359#true} assume !(0 == ~cond); {2359#true} is VALID [2022-04-07 13:38:08,413 INFO L290 TraceCheckUtils]: 25: Hoare triple {2359#true} assume true; {2359#true} is VALID [2022-04-07 13:38:08,414 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2359#true} {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #84#return; {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 13:38:08,418 INFO L290 TraceCheckUtils]: 27: Hoare triple {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 13:38:08,419 INFO L290 TraceCheckUtils]: 28: Hoare triple {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 13:38:08,419 INFO L290 TraceCheckUtils]: 29: Hoare triple {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 13:38:08,419 INFO L290 TraceCheckUtils]: 30: Hoare triple {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 13:38:08,420 INFO L290 TraceCheckUtils]: 31: Hoare triple {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post7 < 100);havoc #t~post7; {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 13:38:08,420 INFO L272 TraceCheckUtils]: 32: Hoare triple {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2359#true} is VALID [2022-04-07 13:38:08,420 INFO L290 TraceCheckUtils]: 33: Hoare triple {2359#true} ~cond := #in~cond; {2359#true} is VALID [2022-04-07 13:38:08,420 INFO L290 TraceCheckUtils]: 34: Hoare triple {2359#true} assume !(0 == ~cond); {2359#true} is VALID [2022-04-07 13:38:08,420 INFO L290 TraceCheckUtils]: 35: Hoare triple {2359#true} assume true; {2359#true} is VALID [2022-04-07 13:38:08,421 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2359#true} {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #86#return; {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 13:38:08,421 INFO L272 TraceCheckUtils]: 37: Hoare triple {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~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)); {2359#true} is VALID [2022-04-07 13:38:08,421 INFO L290 TraceCheckUtils]: 38: Hoare triple {2359#true} ~cond := #in~cond; {2359#true} is VALID [2022-04-07 13:38:08,421 INFO L290 TraceCheckUtils]: 39: Hoare triple {2359#true} assume !(0 == ~cond); {2359#true} is VALID [2022-04-07 13:38:08,421 INFO L290 TraceCheckUtils]: 40: Hoare triple {2359#true} assume true; {2359#true} is VALID [2022-04-07 13:38:08,422 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2359#true} {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #88#return; {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 13:38:08,422 INFO L272 TraceCheckUtils]: 42: Hoare triple {2415#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~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)); {2494#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:38:08,423 INFO L290 TraceCheckUtils]: 43: Hoare triple {2494#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2498#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:38:08,423 INFO L290 TraceCheckUtils]: 44: Hoare triple {2498#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2360#false} is VALID [2022-04-07 13:38:08,423 INFO L290 TraceCheckUtils]: 45: Hoare triple {2360#false} assume !false; {2360#false} is VALID [2022-04-07 13:38:08,423 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-07 13:38:08,423 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:38:08,617 INFO L290 TraceCheckUtils]: 45: Hoare triple {2360#false} assume !false; {2360#false} is VALID [2022-04-07 13:38:08,617 INFO L290 TraceCheckUtils]: 44: Hoare triple {2498#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2360#false} is VALID [2022-04-07 13:38:08,617 INFO L290 TraceCheckUtils]: 43: Hoare triple {2494#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2498#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:38:08,618 INFO L272 TraceCheckUtils]: 42: Hoare triple {2514#(= 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)); {2494#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:38:08,619 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2359#true} {2514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #88#return; {2514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:38:08,619 INFO L290 TraceCheckUtils]: 40: Hoare triple {2359#true} assume true; {2359#true} is VALID [2022-04-07 13:38:08,619 INFO L290 TraceCheckUtils]: 39: Hoare triple {2359#true} assume !(0 == ~cond); {2359#true} is VALID [2022-04-07 13:38:08,619 INFO L290 TraceCheckUtils]: 38: Hoare triple {2359#true} ~cond := #in~cond; {2359#true} is VALID [2022-04-07 13:38:08,619 INFO L272 TraceCheckUtils]: 37: Hoare triple {2514#(= 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)); {2359#true} is VALID [2022-04-07 13:38:08,619 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2359#true} {2514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #86#return; {2514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:38:08,620 INFO L290 TraceCheckUtils]: 35: Hoare triple {2359#true} assume true; {2359#true} is VALID [2022-04-07 13:38:08,620 INFO L290 TraceCheckUtils]: 34: Hoare triple {2359#true} assume !(0 == ~cond); {2359#true} is VALID [2022-04-07 13:38:08,620 INFO L290 TraceCheckUtils]: 33: Hoare triple {2359#true} ~cond := #in~cond; {2359#true} is VALID [2022-04-07 13:38:08,620 INFO L272 TraceCheckUtils]: 32: Hoare triple {2514#(= 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)); {2359#true} is VALID [2022-04-07 13:38:08,620 INFO L290 TraceCheckUtils]: 31: Hoare triple {2514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {2514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:38:08,620 INFO L290 TraceCheckUtils]: 30: Hoare triple {2514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:38:08,621 INFO L290 TraceCheckUtils]: 29: Hoare triple {2514#(= 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; {2514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:38:08,621 INFO L290 TraceCheckUtils]: 28: Hoare triple {2514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {2514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:38:08,621 INFO L290 TraceCheckUtils]: 27: Hoare triple {2514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:38:08,622 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2359#true} {2514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #84#return; {2514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:38:08,622 INFO L290 TraceCheckUtils]: 25: Hoare triple {2359#true} assume true; {2359#true} is VALID [2022-04-07 13:38:08,622 INFO L290 TraceCheckUtils]: 24: Hoare triple {2359#true} assume !(0 == ~cond); {2359#true} is VALID [2022-04-07 13:38:08,622 INFO L290 TraceCheckUtils]: 23: Hoare triple {2359#true} ~cond := #in~cond; {2359#true} is VALID [2022-04-07 13:38:08,622 INFO L272 TraceCheckUtils]: 22: Hoare triple {2514#(= 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)); {2359#true} is VALID [2022-04-07 13:38:08,622 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2359#true} {2514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #82#return; {2514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:38:08,623 INFO L290 TraceCheckUtils]: 20: Hoare triple {2359#true} assume true; {2359#true} is VALID [2022-04-07 13:38:08,632 INFO L290 TraceCheckUtils]: 19: Hoare triple {2359#true} assume !(0 == ~cond); {2359#true} is VALID [2022-04-07 13:38:08,632 INFO L290 TraceCheckUtils]: 18: Hoare triple {2359#true} ~cond := #in~cond; {2359#true} is VALID [2022-04-07 13:38:08,632 INFO L272 TraceCheckUtils]: 17: Hoare triple {2514#(= 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)); {2359#true} is VALID [2022-04-07 13:38:08,632 INFO L290 TraceCheckUtils]: 16: Hoare triple {2359#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; {2514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:38:08,632 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2359#true} {2359#true} #80#return; {2359#true} is VALID [2022-04-07 13:38:08,632 INFO L290 TraceCheckUtils]: 14: Hoare triple {2359#true} assume true; {2359#true} is VALID [2022-04-07 13:38:08,632 INFO L290 TraceCheckUtils]: 13: Hoare triple {2359#true} assume !(0 == ~cond); {2359#true} is VALID [2022-04-07 13:38:08,632 INFO L290 TraceCheckUtils]: 12: Hoare triple {2359#true} ~cond := #in~cond; {2359#true} is VALID [2022-04-07 13:38:08,632 INFO L272 TraceCheckUtils]: 11: Hoare triple {2359#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2359#true} is VALID [2022-04-07 13:38:08,633 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2359#true} {2359#true} #78#return; {2359#true} is VALID [2022-04-07 13:38:08,633 INFO L290 TraceCheckUtils]: 9: Hoare triple {2359#true} assume true; {2359#true} is VALID [2022-04-07 13:38:08,633 INFO L290 TraceCheckUtils]: 8: Hoare triple {2359#true} assume !(0 == ~cond); {2359#true} is VALID [2022-04-07 13:38:08,633 INFO L290 TraceCheckUtils]: 7: Hoare triple {2359#true} ~cond := #in~cond; {2359#true} is VALID [2022-04-07 13:38:08,633 INFO L272 TraceCheckUtils]: 6: Hoare triple {2359#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2359#true} is VALID [2022-04-07 13:38:08,633 INFO L290 TraceCheckUtils]: 5: Hoare triple {2359#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2359#true} is VALID [2022-04-07 13:38:08,633 INFO L272 TraceCheckUtils]: 4: Hoare triple {2359#true} call #t~ret8 := main(); {2359#true} is VALID [2022-04-07 13:38:08,633 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2359#true} {2359#true} #98#return; {2359#true} is VALID [2022-04-07 13:38:08,633 INFO L290 TraceCheckUtils]: 2: Hoare triple {2359#true} assume true; {2359#true} is VALID [2022-04-07 13:38:08,633 INFO L290 TraceCheckUtils]: 1: Hoare triple {2359#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);~counter~0 := 0; {2359#true} is VALID [2022-04-07 13:38:08,633 INFO L272 TraceCheckUtils]: 0: Hoare triple {2359#true} call ULTIMATE.init(); {2359#true} is VALID [2022-04-07 13:38:08,633 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-07 13:38:08,633 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:38:08,633 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1280142918] [2022-04-07 13:38:08,633 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:38:08,634 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [297219634] [2022-04-07 13:38:08,634 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [297219634] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-07 13:38:08,634 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-07 13:38:08,634 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-07 13:38:08,634 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [933083059] [2022-04-07 13:38:08,634 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:38:08,634 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 46 [2022-04-07 13:38:08,634 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:38:08,635 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-07 13:38:08,663 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-07 13:38:08,664 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 13:38:08,664 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:38:08,664 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 13:38:08,664 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-07 13:38:08,664 INFO L87 Difference]: Start difference. First operand 54 states and 69 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-07 13:38:08,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:08,968 INFO L93 Difference]: Finished difference Result 61 states and 75 transitions. [2022-04-07 13:38:08,968 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 13:38:08,968 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 46 [2022-04-07 13:38:08,968 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:38:08,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-07 13:38:08,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-07 13:38:08,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-07 13:38:08,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-07 13:38:08,970 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 67 transitions. [2022-04-07 13:38:09,024 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:38:09,025 INFO L225 Difference]: With dead ends: 61 [2022-04-07 13:38:09,025 INFO L226 Difference]: Without dead ends: 59 [2022-04-07 13:38:09,025 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 83 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-07 13:38:09,026 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 148 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 13:38:09,026 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 148 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 13:38:09,026 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-04-07 13:38:09,052 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 58. [2022-04-07 13:38:09,052 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:38:09,052 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 58 states, 35 states have (on average 1.2) internal successors, (42), 36 states have internal predecessors, (42), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-07 13:38:09,053 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 58 states, 35 states have (on average 1.2) internal successors, (42), 36 states have internal predecessors, (42), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-07 13:38:09,053 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 58 states, 35 states have (on average 1.2) internal successors, (42), 36 states have internal predecessors, (42), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-07 13:38:09,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:09,054 INFO L93 Difference]: Finished difference Result 59 states and 73 transitions. [2022-04-07 13:38:09,055 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 73 transitions. [2022-04-07 13:38:09,055 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:09,055 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:09,055 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 35 states have (on average 1.2) internal successors, (42), 36 states have internal predecessors, (42), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 59 states. [2022-04-07 13:38:09,055 INFO L87 Difference]: Start difference. First operand has 58 states, 35 states have (on average 1.2) internal successors, (42), 36 states have internal predecessors, (42), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 59 states. [2022-04-07 13:38:09,056 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:09,057 INFO L93 Difference]: Finished difference Result 59 states and 73 transitions. [2022-04-07 13:38:09,057 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 73 transitions. [2022-04-07 13:38:09,057 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:09,057 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:09,057 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:38:09,057 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:38:09,057 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 35 states have (on average 1.2) internal successors, (42), 36 states have internal predecessors, (42), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-07 13:38:09,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 72 transitions. [2022-04-07 13:38:09,059 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 72 transitions. Word has length 46 [2022-04-07 13:38:09,059 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:38:09,059 INFO L478 AbstractCegarLoop]: Abstraction has 58 states and 72 transitions. [2022-04-07 13:38:09,059 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-07 13:38:09,059 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 72 transitions. [2022-04-07 13:38:09,059 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-07 13:38:09,059 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:38:09,059 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 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] [2022-04-07 13:38:09,075 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-07 13:38:09,275 WARN L460 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-07 13:38:09,276 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:38:09,276 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:38:09,277 INFO L85 PathProgramCache]: Analyzing trace with hash -300711301, now seen corresponding path program 1 times [2022-04-07 13:38:09,277 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:38:09,277 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [497919046] [2022-04-07 13:38:09,277 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:09,277 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:38:09,297 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:38:09,297 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [601644689] [2022-04-07 13:38:09,297 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:09,297 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:38:09,297 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:38:09,298 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:38:09,299 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-07 13:38:09,337 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:09,338 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-07 13:38:09,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:09,349 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:38:09,717 INFO L272 TraceCheckUtils]: 0: Hoare triple {2938#true} call ULTIMATE.init(); {2938#true} is VALID [2022-04-07 13:38:09,717 INFO L290 TraceCheckUtils]: 1: Hoare triple {2938#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);~counter~0 := 0; {2938#true} is VALID [2022-04-07 13:38:09,717 INFO L290 TraceCheckUtils]: 2: Hoare triple {2938#true} assume true; {2938#true} is VALID [2022-04-07 13:38:09,717 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2938#true} {2938#true} #98#return; {2938#true} is VALID [2022-04-07 13:38:09,717 INFO L272 TraceCheckUtils]: 4: Hoare triple {2938#true} call #t~ret8 := main(); {2938#true} is VALID [2022-04-07 13:38:09,717 INFO L290 TraceCheckUtils]: 5: Hoare triple {2938#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2938#true} is VALID [2022-04-07 13:38:09,717 INFO L272 TraceCheckUtils]: 6: Hoare triple {2938#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2938#true} is VALID [2022-04-07 13:38:09,717 INFO L290 TraceCheckUtils]: 7: Hoare triple {2938#true} ~cond := #in~cond; {2938#true} is VALID [2022-04-07 13:38:09,717 INFO L290 TraceCheckUtils]: 8: Hoare triple {2938#true} assume !(0 == ~cond); {2938#true} is VALID [2022-04-07 13:38:09,717 INFO L290 TraceCheckUtils]: 9: Hoare triple {2938#true} assume true; {2938#true} is VALID [2022-04-07 13:38:09,717 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2938#true} {2938#true} #78#return; {2938#true} is VALID [2022-04-07 13:38:09,717 INFO L272 TraceCheckUtils]: 11: Hoare triple {2938#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2938#true} is VALID [2022-04-07 13:38:09,718 INFO L290 TraceCheckUtils]: 12: Hoare triple {2938#true} ~cond := #in~cond; {2979#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 13:38:09,718 INFO L290 TraceCheckUtils]: 13: Hoare triple {2979#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2983#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:38:09,718 INFO L290 TraceCheckUtils]: 14: Hoare triple {2983#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2983#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:38:09,719 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2983#(not (= |assume_abort_if_not_#in~cond| 0))} {2938#true} #80#return; {2990#(<= 1 main_~y~0)} is VALID [2022-04-07 13:38:09,719 INFO L290 TraceCheckUtils]: 16: Hoare triple {2990#(<= 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; {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:38:09,719 INFO L272 TraceCheckUtils]: 17: Hoare triple {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2938#true} is VALID [2022-04-07 13:38:09,719 INFO L290 TraceCheckUtils]: 18: Hoare triple {2938#true} ~cond := #in~cond; {2938#true} is VALID [2022-04-07 13:38:09,719 INFO L290 TraceCheckUtils]: 19: Hoare triple {2938#true} assume !(0 == ~cond); {2938#true} is VALID [2022-04-07 13:38:09,719 INFO L290 TraceCheckUtils]: 20: Hoare triple {2938#true} assume true; {2938#true} is VALID [2022-04-07 13:38:09,720 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2938#true} {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} #82#return; {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:38:09,720 INFO L272 TraceCheckUtils]: 22: Hoare triple {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2938#true} is VALID [2022-04-07 13:38:09,720 INFO L290 TraceCheckUtils]: 23: Hoare triple {2938#true} ~cond := #in~cond; {2938#true} is VALID [2022-04-07 13:38:09,720 INFO L290 TraceCheckUtils]: 24: Hoare triple {2938#true} assume !(0 == ~cond); {2938#true} is VALID [2022-04-07 13:38:09,720 INFO L290 TraceCheckUtils]: 25: Hoare triple {2938#true} assume true; {2938#true} is VALID [2022-04-07 13:38:09,721 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2938#true} {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} #84#return; {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:38:09,721 INFO L290 TraceCheckUtils]: 27: Hoare triple {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:38:09,721 INFO L290 TraceCheckUtils]: 28: Hoare triple {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(#t~post6 < 100);havoc #t~post6; {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:38:09,722 INFO L290 TraceCheckUtils]: 29: Hoare triple {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:38:09,722 INFO L290 TraceCheckUtils]: 30: Hoare triple {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:38:09,722 INFO L290 TraceCheckUtils]: 31: Hoare triple {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(#t~post7 < 100);havoc #t~post7; {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:38:09,722 INFO L272 TraceCheckUtils]: 32: Hoare triple {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2938#true} is VALID [2022-04-07 13:38:09,723 INFO L290 TraceCheckUtils]: 33: Hoare triple {2938#true} ~cond := #in~cond; {2938#true} is VALID [2022-04-07 13:38:09,723 INFO L290 TraceCheckUtils]: 34: Hoare triple {2938#true} assume !(0 == ~cond); {2938#true} is VALID [2022-04-07 13:38:09,723 INFO L290 TraceCheckUtils]: 35: Hoare triple {2938#true} assume true; {2938#true} is VALID [2022-04-07 13:38:09,723 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2938#true} {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} #86#return; {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:38:09,723 INFO L272 TraceCheckUtils]: 37: Hoare triple {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2938#true} is VALID [2022-04-07 13:38:09,725 INFO L290 TraceCheckUtils]: 38: Hoare triple {2938#true} ~cond := #in~cond; {3061#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:38:09,725 INFO L290 TraceCheckUtils]: 39: Hoare triple {3061#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3065#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:38:09,726 INFO L290 TraceCheckUtils]: 40: Hoare triple {3065#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3065#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:38:09,726 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3065#(not (= |__VERIFIER_assert_#in~cond| 0))} {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} #88#return; {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:38:09,726 INFO L272 TraceCheckUtils]: 42: Hoare triple {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2938#true} is VALID [2022-04-07 13:38:09,727 INFO L290 TraceCheckUtils]: 43: Hoare triple {2938#true} ~cond := #in~cond; {3061#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:38:09,727 INFO L290 TraceCheckUtils]: 44: Hoare triple {3061#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3065#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:38:09,727 INFO L290 TraceCheckUtils]: 45: Hoare triple {3065#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3065#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:38:09,727 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3065#(not (= |__VERIFIER_assert_#in~cond| 0))} {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} #90#return; {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 13:38:09,728 INFO L272 TraceCheckUtils]: 47: Hoare triple {2994#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~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)); {3090#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:38:09,728 INFO L290 TraceCheckUtils]: 48: Hoare triple {3090#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3094#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:38:09,729 INFO L290 TraceCheckUtils]: 49: Hoare triple {3094#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2939#false} is VALID [2022-04-07 13:38:09,729 INFO L290 TraceCheckUtils]: 50: Hoare triple {2939#false} assume !false; {2939#false} is VALID [2022-04-07 13:38:09,729 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 13 proven. 8 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-07 13:38:09,729 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:38:46,263 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:38:46,264 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [497919046] [2022-04-07 13:38:46,264 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:38:46,264 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [601644689] [2022-04-07 13:38:46,264 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [601644689] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 13:38:46,264 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-07 13:38:46,264 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-07 13:38:46,264 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [94113479] [2022-04-07 13:38:46,264 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-07 13:38:46,264 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.4) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-07 13:38:46,265 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:38:46,265 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.4) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-07 13:38:46,317 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-07 13:38:46,317 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-07 13:38:46,317 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:38:46,317 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-07 13:38:46,318 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-07 13:38:46,318 INFO L87 Difference]: Start difference. First operand 58 states and 72 transitions. Second operand has 10 states, 10 states have (on average 2.4) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-07 13:38:48,108 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:48,108 INFO L93 Difference]: Finished difference Result 65 states and 78 transitions. [2022-04-07 13:38:48,109 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-07 13:38:48,109 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.4) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-07 13:38:48,109 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:38:48,109 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.4) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-07 13:38:48,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 67 transitions. [2022-04-07 13:38:48,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.4) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-07 13:38:48,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 67 transitions. [2022-04-07 13:38:48,111 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 67 transitions. [2022-04-07 13:38:48,171 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:38:48,172 INFO L225 Difference]: With dead ends: 65 [2022-04-07 13:38:48,172 INFO L226 Difference]: Without dead ends: 63 [2022-04-07 13:38:48,173 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 44 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=169, Unknown=0, NotChecked=0, Total=210 [2022-04-07 13:38:48,173 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 32 mSDsluCounter, 124 mSDsCounter, 0 mSdLazyCounter, 213 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 153 SdHoareTripleChecker+Invalid, 222 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 213 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-07 13:38:48,173 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [38 Valid, 153 Invalid, 222 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 213 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-07 13:38:48,174 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-07 13:38:48,199 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 62. [2022-04-07 13:38:48,199 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:38:48,200 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 39 states have internal predecessors, (45), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-07 13:38:48,200 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 39 states have internal predecessors, (45), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-07 13:38:48,200 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 39 states have internal predecessors, (45), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-07 13:38:48,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:48,202 INFO L93 Difference]: Finished difference Result 63 states and 76 transitions. [2022-04-07 13:38:48,202 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 76 transitions. [2022-04-07 13:38:48,202 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:48,202 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:48,202 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 39 states have internal predecessors, (45), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 63 states. [2022-04-07 13:38:48,202 INFO L87 Difference]: Start difference. First operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 39 states have internal predecessors, (45), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 63 states. [2022-04-07 13:38:48,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:48,204 INFO L93 Difference]: Finished difference Result 63 states and 76 transitions. [2022-04-07 13:38:48,204 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 76 transitions. [2022-04-07 13:38:48,204 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:48,204 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:48,204 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:38:48,204 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:38:48,204 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 39 states have internal predecessors, (45), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-07 13:38:48,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 75 transitions. [2022-04-07 13:38:48,206 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 75 transitions. Word has length 51 [2022-04-07 13:38:48,206 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:38:48,206 INFO L478 AbstractCegarLoop]: Abstraction has 62 states and 75 transitions. [2022-04-07 13:38:48,206 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.4) internal successors, (24), 8 states have internal predecessors, (24), 2 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-07 13:38:48,206 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 75 transitions. [2022-04-07 13:38:48,207 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-07 13:38:48,207 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:38:48,207 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 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] [2022-04-07 13:38:48,223 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-07 13:38:48,419 WARN L460 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-07 13:38:48,419 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:38:48,420 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:38:48,420 INFO L85 PathProgramCache]: Analyzing trace with hash 35160305, now seen corresponding path program 1 times [2022-04-07 13:38:48,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:38:48,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [346521447] [2022-04-07 13:38:48,420 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:48,420 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:38:48,432 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:38:48,432 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1950875938] [2022-04-07 13:38:48,432 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:48,432 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:38:48,432 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:38:48,433 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:38:48,434 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-07 13:38:48,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:48,481 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-07 13:38:48,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:48,493 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:38:48,711 INFO L272 TraceCheckUtils]: 0: Hoare triple {3434#true} call ULTIMATE.init(); {3434#true} is VALID [2022-04-07 13:38:48,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {3434#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);~counter~0 := 0; {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,713 INFO L290 TraceCheckUtils]: 2: Hoare triple {3442#(<= ~counter~0 0)} assume true; {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,713 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3442#(<= ~counter~0 0)} {3434#true} #98#return; {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,713 INFO L272 TraceCheckUtils]: 4: Hoare triple {3442#(<= ~counter~0 0)} call #t~ret8 := main(); {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,714 INFO L290 TraceCheckUtils]: 5: Hoare triple {3442#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,714 INFO L272 TraceCheckUtils]: 6: Hoare triple {3442#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,715 INFO L290 TraceCheckUtils]: 7: Hoare triple {3442#(<= ~counter~0 0)} ~cond := #in~cond; {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,715 INFO L290 TraceCheckUtils]: 8: Hoare triple {3442#(<= ~counter~0 0)} assume !(0 == ~cond); {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,715 INFO L290 TraceCheckUtils]: 9: Hoare triple {3442#(<= ~counter~0 0)} assume true; {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,715 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3442#(<= ~counter~0 0)} {3442#(<= ~counter~0 0)} #78#return; {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,716 INFO L272 TraceCheckUtils]: 11: Hoare triple {3442#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,716 INFO L290 TraceCheckUtils]: 12: Hoare triple {3442#(<= ~counter~0 0)} ~cond := #in~cond; {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,716 INFO L290 TraceCheckUtils]: 13: Hoare triple {3442#(<= ~counter~0 0)} assume !(0 == ~cond); {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,716 INFO L290 TraceCheckUtils]: 14: Hoare triple {3442#(<= ~counter~0 0)} assume true; {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,717 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3442#(<= ~counter~0 0)} {3442#(<= ~counter~0 0)} #80#return; {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,717 INFO L290 TraceCheckUtils]: 16: Hoare triple {3442#(<= ~counter~0 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; {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,717 INFO L272 TraceCheckUtils]: 17: Hoare triple {3442#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,718 INFO L290 TraceCheckUtils]: 18: Hoare triple {3442#(<= ~counter~0 0)} ~cond := #in~cond; {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,718 INFO L290 TraceCheckUtils]: 19: Hoare triple {3442#(<= ~counter~0 0)} assume !(0 == ~cond); {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,718 INFO L290 TraceCheckUtils]: 20: Hoare triple {3442#(<= ~counter~0 0)} assume true; {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,719 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3442#(<= ~counter~0 0)} {3442#(<= ~counter~0 0)} #82#return; {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,719 INFO L272 TraceCheckUtils]: 22: Hoare triple {3442#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,719 INFO L290 TraceCheckUtils]: 23: Hoare triple {3442#(<= ~counter~0 0)} ~cond := #in~cond; {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,720 INFO L290 TraceCheckUtils]: 24: Hoare triple {3442#(<= ~counter~0 0)} assume !(0 == ~cond); {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,720 INFO L290 TraceCheckUtils]: 25: Hoare triple {3442#(<= ~counter~0 0)} assume true; {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,720 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3442#(<= ~counter~0 0)} {3442#(<= ~counter~0 0)} #84#return; {3442#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:48,721 INFO L290 TraceCheckUtils]: 27: Hoare triple {3442#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3521#(<= ~counter~0 1)} is VALID [2022-04-07 13:38:48,721 INFO L290 TraceCheckUtils]: 28: Hoare triple {3521#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {3521#(<= ~counter~0 1)} is VALID [2022-04-07 13:38:48,721 INFO L290 TraceCheckUtils]: 29: Hoare triple {3521#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3521#(<= ~counter~0 1)} is VALID [2022-04-07 13:38:48,721 INFO L290 TraceCheckUtils]: 30: Hoare triple {3521#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,722 INFO L290 TraceCheckUtils]: 31: Hoare triple {3531#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,722 INFO L272 TraceCheckUtils]: 32: Hoare triple {3531#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,722 INFO L290 TraceCheckUtils]: 33: Hoare triple {3531#(<= ~counter~0 2)} ~cond := #in~cond; {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,723 INFO L290 TraceCheckUtils]: 34: Hoare triple {3531#(<= ~counter~0 2)} assume !(0 == ~cond); {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,723 INFO L290 TraceCheckUtils]: 35: Hoare triple {3531#(<= ~counter~0 2)} assume true; {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,723 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3531#(<= ~counter~0 2)} {3531#(<= ~counter~0 2)} #86#return; {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,724 INFO L272 TraceCheckUtils]: 37: Hoare triple {3531#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,724 INFO L290 TraceCheckUtils]: 38: Hoare triple {3531#(<= ~counter~0 2)} ~cond := #in~cond; {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,724 INFO L290 TraceCheckUtils]: 39: Hoare triple {3531#(<= ~counter~0 2)} assume !(0 == ~cond); {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,725 INFO L290 TraceCheckUtils]: 40: Hoare triple {3531#(<= ~counter~0 2)} assume true; {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,725 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3531#(<= ~counter~0 2)} {3531#(<= ~counter~0 2)} #88#return; {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,725 INFO L272 TraceCheckUtils]: 42: Hoare triple {3531#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,726 INFO L290 TraceCheckUtils]: 43: Hoare triple {3531#(<= ~counter~0 2)} ~cond := #in~cond; {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,726 INFO L290 TraceCheckUtils]: 44: Hoare triple {3531#(<= ~counter~0 2)} assume !(0 == ~cond); {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,726 INFO L290 TraceCheckUtils]: 45: Hoare triple {3531#(<= ~counter~0 2)} assume true; {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,727 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3531#(<= ~counter~0 2)} {3531#(<= ~counter~0 2)} #90#return; {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,727 INFO L272 TraceCheckUtils]: 47: Hoare triple {3531#(<= ~counter~0 2)} 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)); {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,727 INFO L290 TraceCheckUtils]: 48: Hoare triple {3531#(<= ~counter~0 2)} ~cond := #in~cond; {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,728 INFO L290 TraceCheckUtils]: 49: Hoare triple {3531#(<= ~counter~0 2)} assume !(0 == ~cond); {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,728 INFO L290 TraceCheckUtils]: 50: Hoare triple {3531#(<= ~counter~0 2)} assume true; {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,728 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3531#(<= ~counter~0 2)} {3531#(<= ~counter~0 2)} #92#return; {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,729 INFO L290 TraceCheckUtils]: 52: Hoare triple {3531#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,729 INFO L290 TraceCheckUtils]: 53: Hoare triple {3531#(<= ~counter~0 2)} ~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; {3531#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:48,729 INFO L290 TraceCheckUtils]: 54: Hoare triple {3531#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3604#(<= |main_#t~post6| 2)} is VALID [2022-04-07 13:38:48,730 INFO L290 TraceCheckUtils]: 55: Hoare triple {3604#(<= |main_#t~post6| 2)} assume !(#t~post6 < 100);havoc #t~post6; {3435#false} is VALID [2022-04-07 13:38:48,730 INFO L272 TraceCheckUtils]: 56: Hoare triple {3435#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {3435#false} is VALID [2022-04-07 13:38:48,730 INFO L290 TraceCheckUtils]: 57: Hoare triple {3435#false} ~cond := #in~cond; {3435#false} is VALID [2022-04-07 13:38:48,730 INFO L290 TraceCheckUtils]: 58: Hoare triple {3435#false} assume 0 == ~cond; {3435#false} is VALID [2022-04-07 13:38:48,730 INFO L290 TraceCheckUtils]: 59: Hoare triple {3435#false} assume !false; {3435#false} is VALID [2022-04-07 13:38:48,730 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-07 13:38:48,730 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:38:48,964 INFO L290 TraceCheckUtils]: 59: Hoare triple {3435#false} assume !false; {3435#false} is VALID [2022-04-07 13:38:48,964 INFO L290 TraceCheckUtils]: 58: Hoare triple {3435#false} assume 0 == ~cond; {3435#false} is VALID [2022-04-07 13:38:48,964 INFO L290 TraceCheckUtils]: 57: Hoare triple {3435#false} ~cond := #in~cond; {3435#false} is VALID [2022-04-07 13:38:48,964 INFO L272 TraceCheckUtils]: 56: Hoare triple {3435#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {3435#false} is VALID [2022-04-07 13:38:48,964 INFO L290 TraceCheckUtils]: 55: Hoare triple {3632#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {3435#false} is VALID [2022-04-07 13:38:48,965 INFO L290 TraceCheckUtils]: 54: Hoare triple {3636#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3632#(< |main_#t~post6| 100)} is VALID [2022-04-07 13:38:48,965 INFO L290 TraceCheckUtils]: 53: Hoare triple {3636#(< ~counter~0 100)} ~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; {3636#(< ~counter~0 100)} is VALID [2022-04-07 13:38:48,965 INFO L290 TraceCheckUtils]: 52: Hoare triple {3636#(< ~counter~0 100)} assume !(~c~0 >= ~b~0); {3636#(< ~counter~0 100)} is VALID [2022-04-07 13:38:48,966 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3434#true} {3636#(< ~counter~0 100)} #92#return; {3636#(< ~counter~0 100)} is VALID [2022-04-07 13:38:48,966 INFO L290 TraceCheckUtils]: 50: Hoare triple {3434#true} assume true; {3434#true} is VALID [2022-04-07 13:38:48,966 INFO L290 TraceCheckUtils]: 49: Hoare triple {3434#true} assume !(0 == ~cond); {3434#true} is VALID [2022-04-07 13:38:48,966 INFO L290 TraceCheckUtils]: 48: Hoare triple {3434#true} ~cond := #in~cond; {3434#true} is VALID [2022-04-07 13:38:48,966 INFO L272 TraceCheckUtils]: 47: Hoare triple {3636#(< ~counter~0 100)} 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)); {3434#true} is VALID [2022-04-07 13:38:48,966 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3434#true} {3636#(< ~counter~0 100)} #90#return; {3636#(< ~counter~0 100)} is VALID [2022-04-07 13:38:48,966 INFO L290 TraceCheckUtils]: 45: Hoare triple {3434#true} assume true; {3434#true} is VALID [2022-04-07 13:38:48,967 INFO L290 TraceCheckUtils]: 44: Hoare triple {3434#true} assume !(0 == ~cond); {3434#true} is VALID [2022-04-07 13:38:48,967 INFO L290 TraceCheckUtils]: 43: Hoare triple {3434#true} ~cond := #in~cond; {3434#true} is VALID [2022-04-07 13:38:48,967 INFO L272 TraceCheckUtils]: 42: Hoare triple {3636#(< ~counter~0 100)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3434#true} is VALID [2022-04-07 13:38:48,967 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3434#true} {3636#(< ~counter~0 100)} #88#return; {3636#(< ~counter~0 100)} is VALID [2022-04-07 13:38:48,967 INFO L290 TraceCheckUtils]: 40: Hoare triple {3434#true} assume true; {3434#true} is VALID [2022-04-07 13:38:48,967 INFO L290 TraceCheckUtils]: 39: Hoare triple {3434#true} assume !(0 == ~cond); {3434#true} is VALID [2022-04-07 13:38:48,967 INFO L290 TraceCheckUtils]: 38: Hoare triple {3434#true} ~cond := #in~cond; {3434#true} is VALID [2022-04-07 13:38:48,967 INFO L272 TraceCheckUtils]: 37: Hoare triple {3636#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3434#true} is VALID [2022-04-07 13:38:48,968 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3434#true} {3636#(< ~counter~0 100)} #86#return; {3636#(< ~counter~0 100)} is VALID [2022-04-07 13:38:48,968 INFO L290 TraceCheckUtils]: 35: Hoare triple {3434#true} assume true; {3434#true} is VALID [2022-04-07 13:38:48,968 INFO L290 TraceCheckUtils]: 34: Hoare triple {3434#true} assume !(0 == ~cond); {3434#true} is VALID [2022-04-07 13:38:48,968 INFO L290 TraceCheckUtils]: 33: Hoare triple {3434#true} ~cond := #in~cond; {3434#true} is VALID [2022-04-07 13:38:48,968 INFO L272 TraceCheckUtils]: 32: Hoare triple {3636#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3434#true} is VALID [2022-04-07 13:38:48,968 INFO L290 TraceCheckUtils]: 31: Hoare triple {3636#(< ~counter~0 100)} assume !!(#t~post7 < 100);havoc #t~post7; {3636#(< ~counter~0 100)} is VALID [2022-04-07 13:38:48,969 INFO L290 TraceCheckUtils]: 30: Hoare triple {3709#(< ~counter~0 99)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {3636#(< ~counter~0 100)} is VALID [2022-04-07 13:38:48,969 INFO L290 TraceCheckUtils]: 29: Hoare triple {3709#(< ~counter~0 99)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3709#(< ~counter~0 99)} is VALID [2022-04-07 13:38:48,969 INFO L290 TraceCheckUtils]: 28: Hoare triple {3709#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {3709#(< ~counter~0 99)} is VALID [2022-04-07 13:38:48,970 INFO L290 TraceCheckUtils]: 27: Hoare triple {3719#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3709#(< ~counter~0 99)} is VALID [2022-04-07 13:38:48,970 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3434#true} {3719#(< ~counter~0 98)} #84#return; {3719#(< ~counter~0 98)} is VALID [2022-04-07 13:38:48,970 INFO L290 TraceCheckUtils]: 25: Hoare triple {3434#true} assume true; {3434#true} is VALID [2022-04-07 13:38:48,970 INFO L290 TraceCheckUtils]: 24: Hoare triple {3434#true} assume !(0 == ~cond); {3434#true} is VALID [2022-04-07 13:38:48,970 INFO L290 TraceCheckUtils]: 23: Hoare triple {3434#true} ~cond := #in~cond; {3434#true} is VALID [2022-04-07 13:38:48,970 INFO L272 TraceCheckUtils]: 22: Hoare triple {3719#(< ~counter~0 98)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3434#true} is VALID [2022-04-07 13:38:48,971 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3434#true} {3719#(< ~counter~0 98)} #82#return; {3719#(< ~counter~0 98)} is VALID [2022-04-07 13:38:48,971 INFO L290 TraceCheckUtils]: 20: Hoare triple {3434#true} assume true; {3434#true} is VALID [2022-04-07 13:38:48,971 INFO L290 TraceCheckUtils]: 19: Hoare triple {3434#true} assume !(0 == ~cond); {3434#true} is VALID [2022-04-07 13:38:48,971 INFO L290 TraceCheckUtils]: 18: Hoare triple {3434#true} ~cond := #in~cond; {3434#true} is VALID [2022-04-07 13:38:48,971 INFO L272 TraceCheckUtils]: 17: Hoare triple {3719#(< ~counter~0 98)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3434#true} is VALID [2022-04-07 13:38:48,971 INFO L290 TraceCheckUtils]: 16: Hoare triple {3719#(< ~counter~0 98)} ~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; {3719#(< ~counter~0 98)} is VALID [2022-04-07 13:38:48,971 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3434#true} {3719#(< ~counter~0 98)} #80#return; {3719#(< ~counter~0 98)} is VALID [2022-04-07 13:38:48,971 INFO L290 TraceCheckUtils]: 14: Hoare triple {3434#true} assume true; {3434#true} is VALID [2022-04-07 13:38:48,972 INFO L290 TraceCheckUtils]: 13: Hoare triple {3434#true} assume !(0 == ~cond); {3434#true} is VALID [2022-04-07 13:38:48,972 INFO L290 TraceCheckUtils]: 12: Hoare triple {3434#true} ~cond := #in~cond; {3434#true} is VALID [2022-04-07 13:38:48,972 INFO L272 TraceCheckUtils]: 11: Hoare triple {3719#(< ~counter~0 98)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3434#true} is VALID [2022-04-07 13:38:48,972 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3434#true} {3719#(< ~counter~0 98)} #78#return; {3719#(< ~counter~0 98)} is VALID [2022-04-07 13:38:48,972 INFO L290 TraceCheckUtils]: 9: Hoare triple {3434#true} assume true; {3434#true} is VALID [2022-04-07 13:38:48,972 INFO L290 TraceCheckUtils]: 8: Hoare triple {3434#true} assume !(0 == ~cond); {3434#true} is VALID [2022-04-07 13:38:48,972 INFO L290 TraceCheckUtils]: 7: Hoare triple {3434#true} ~cond := #in~cond; {3434#true} is VALID [2022-04-07 13:38:48,972 INFO L272 TraceCheckUtils]: 6: Hoare triple {3719#(< ~counter~0 98)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3434#true} is VALID [2022-04-07 13:38:48,972 INFO L290 TraceCheckUtils]: 5: Hoare triple {3719#(< ~counter~0 98)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3719#(< ~counter~0 98)} is VALID [2022-04-07 13:38:48,973 INFO L272 TraceCheckUtils]: 4: Hoare triple {3719#(< ~counter~0 98)} call #t~ret8 := main(); {3719#(< ~counter~0 98)} is VALID [2022-04-07 13:38:48,973 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3719#(< ~counter~0 98)} {3434#true} #98#return; {3719#(< ~counter~0 98)} is VALID [2022-04-07 13:38:48,973 INFO L290 TraceCheckUtils]: 2: Hoare triple {3719#(< ~counter~0 98)} assume true; {3719#(< ~counter~0 98)} is VALID [2022-04-07 13:38:48,974 INFO L290 TraceCheckUtils]: 1: Hoare triple {3434#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);~counter~0 := 0; {3719#(< ~counter~0 98)} is VALID [2022-04-07 13:38:48,974 INFO L272 TraceCheckUtils]: 0: Hoare triple {3434#true} call ULTIMATE.init(); {3434#true} is VALID [2022-04-07 13:38:48,974 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-07 13:38:48,974 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:38:48,974 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [346521447] [2022-04-07 13:38:48,974 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:38:48,974 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1950875938] [2022-04-07 13:38:48,974 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1950875938] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:38:48,974 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:38:48,974 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-07 13:38:48,974 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1854174572] [2022-04-07 13:38:48,975 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:38:48,975 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.1) internal successors, (41), 10 states have internal predecessors, (41), 6 states have call successors, (20), 5 states have call predecessors, (20), 4 states have return successors, (18), 4 states have call predecessors, (18), 5 states have call successors, (18) Word has length 60 [2022-04-07 13:38:48,975 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:38:48,975 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.1) internal successors, (41), 10 states have internal predecessors, (41), 6 states have call successors, (20), 5 states have call predecessors, (20), 4 states have return successors, (18), 4 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-07 13:38:49,029 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:38:49,029 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-07 13:38:49,029 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:38:49,030 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-07 13:38:49,030 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-07 13:38:49,030 INFO L87 Difference]: Start difference. First operand 62 states and 75 transitions. Second operand has 10 states, 10 states have (on average 4.1) internal successors, (41), 10 states have internal predecessors, (41), 6 states have call successors, (20), 5 states have call predecessors, (20), 4 states have return successors, (18), 4 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-07 13:38:49,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:49,471 INFO L93 Difference]: Finished difference Result 215 states and 254 transitions. [2022-04-07 13:38:49,471 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-07 13:38:49,471 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.1) internal successors, (41), 10 states have internal predecessors, (41), 6 states have call successors, (20), 5 states have call predecessors, (20), 4 states have return successors, (18), 4 states have call predecessors, (18), 5 states have call successors, (18) Word has length 60 [2022-04-07 13:38:49,471 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:38:49,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.1) internal successors, (41), 10 states have internal predecessors, (41), 6 states have call successors, (20), 5 states have call predecessors, (20), 4 states have return successors, (18), 4 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-07 13:38:49,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 157 transitions. [2022-04-07 13:38:49,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.1) internal successors, (41), 10 states have internal predecessors, (41), 6 states have call successors, (20), 5 states have call predecessors, (20), 4 states have return successors, (18), 4 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-07 13:38:49,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 157 transitions. [2022-04-07 13:38:49,475 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 157 transitions. [2022-04-07 13:38:49,574 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 157 edges. 157 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:38:49,578 INFO L225 Difference]: With dead ends: 215 [2022-04-07 13:38:49,578 INFO L226 Difference]: Without dead ends: 207 [2022-04-07 13:38:49,578 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 111 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=64, Invalid=118, Unknown=0, NotChecked=0, Total=182 [2022-04-07 13:38:49,579 INFO L913 BasicCegarLoop]: 61 mSDtfsCounter, 81 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 78 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 81 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 114 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 78 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 13:38:49,579 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [81 Valid, 209 Invalid, 114 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 78 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 13:38:49,585 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 207 states. [2022-04-07 13:38:49,662 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 207 to 199. [2022-04-07 13:38:49,663 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:38:49,663 INFO L82 GeneralOperation]: Start isEquivalent. First operand 207 states. Second operand has 199 states, 126 states have (on average 1.1904761904761905) internal successors, (150), 130 states have internal predecessors, (150), 46 states have call successors, (46), 27 states have call predecessors, (46), 26 states have return successors, (41), 41 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-07 13:38:49,664 INFO L74 IsIncluded]: Start isIncluded. First operand 207 states. Second operand has 199 states, 126 states have (on average 1.1904761904761905) internal successors, (150), 130 states have internal predecessors, (150), 46 states have call successors, (46), 27 states have call predecessors, (46), 26 states have return successors, (41), 41 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-07 13:38:49,664 INFO L87 Difference]: Start difference. First operand 207 states. Second operand has 199 states, 126 states have (on average 1.1904761904761905) internal successors, (150), 130 states have internal predecessors, (150), 46 states have call successors, (46), 27 states have call predecessors, (46), 26 states have return successors, (41), 41 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-07 13:38:49,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:49,668 INFO L93 Difference]: Finished difference Result 207 states and 242 transitions. [2022-04-07 13:38:49,668 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 242 transitions. [2022-04-07 13:38:49,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:49,669 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:49,670 INFO L74 IsIncluded]: Start isIncluded. First operand has 199 states, 126 states have (on average 1.1904761904761905) internal successors, (150), 130 states have internal predecessors, (150), 46 states have call successors, (46), 27 states have call predecessors, (46), 26 states have return successors, (41), 41 states have call predecessors, (41), 41 states have call successors, (41) Second operand 207 states. [2022-04-07 13:38:49,670 INFO L87 Difference]: Start difference. First operand has 199 states, 126 states have (on average 1.1904761904761905) internal successors, (150), 130 states have internal predecessors, (150), 46 states have call successors, (46), 27 states have call predecessors, (46), 26 states have return successors, (41), 41 states have call predecessors, (41), 41 states have call successors, (41) Second operand 207 states. [2022-04-07 13:38:49,675 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:49,675 INFO L93 Difference]: Finished difference Result 207 states and 242 transitions. [2022-04-07 13:38:49,675 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 242 transitions. [2022-04-07 13:38:49,675 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:49,675 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:49,675 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:38:49,676 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:38:49,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 199 states, 126 states have (on average 1.1904761904761905) internal successors, (150), 130 states have internal predecessors, (150), 46 states have call successors, (46), 27 states have call predecessors, (46), 26 states have return successors, (41), 41 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-07 13:38:49,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 199 states to 199 states and 237 transitions. [2022-04-07 13:38:49,680 INFO L78 Accepts]: Start accepts. Automaton has 199 states and 237 transitions. Word has length 60 [2022-04-07 13:38:49,680 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:38:49,681 INFO L478 AbstractCegarLoop]: Abstraction has 199 states and 237 transitions. [2022-04-07 13:38:49,681 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.1) internal successors, (41), 10 states have internal predecessors, (41), 6 states have call successors, (20), 5 states have call predecessors, (20), 4 states have return successors, (18), 4 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-07 13:38:49,681 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 237 transitions. [2022-04-07 13:38:49,681 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-07 13:38:49,681 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:38:49,681 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 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, 1, 1] [2022-04-07 13:38:49,700 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-07 13:38:49,895 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-07 13:38:49,896 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:38:49,896 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:38:49,896 INFO L85 PathProgramCache]: Analyzing trace with hash 1088000375, now seen corresponding path program 1 times [2022-04-07 13:38:49,896 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:38:49,896 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1789828432] [2022-04-07 13:38:49,896 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:49,896 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:38:49,906 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:38:49,906 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1683369814] [2022-04-07 13:38:49,906 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:49,906 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:38:49,906 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:38:49,913 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:38:49,914 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-07 13:38:49,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:49,953 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-07 13:38:49,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:49,963 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:38:50,133 INFO L272 TraceCheckUtils]: 0: Hoare triple {4818#true} call ULTIMATE.init(); {4818#true} is VALID [2022-04-07 13:38:50,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {4818#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);~counter~0 := 0; {4818#true} is VALID [2022-04-07 13:38:50,133 INFO L290 TraceCheckUtils]: 2: Hoare triple {4818#true} assume true; {4818#true} is VALID [2022-04-07 13:38:50,134 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4818#true} {4818#true} #98#return; {4818#true} is VALID [2022-04-07 13:38:50,134 INFO L272 TraceCheckUtils]: 4: Hoare triple {4818#true} call #t~ret8 := main(); {4818#true} is VALID [2022-04-07 13:38:50,134 INFO L290 TraceCheckUtils]: 5: Hoare triple {4818#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4818#true} is VALID [2022-04-07 13:38:50,134 INFO L272 TraceCheckUtils]: 6: Hoare triple {4818#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4818#true} is VALID [2022-04-07 13:38:50,134 INFO L290 TraceCheckUtils]: 7: Hoare triple {4818#true} ~cond := #in~cond; {4844#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 13:38:50,135 INFO L290 TraceCheckUtils]: 8: Hoare triple {4844#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4848#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:38:50,135 INFO L290 TraceCheckUtils]: 9: Hoare triple {4848#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4848#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:38:50,135 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4848#(not (= |assume_abort_if_not_#in~cond| 0))} {4818#true} #78#return; {4855#(<= 1 main_~x~0)} is VALID [2022-04-07 13:38:50,136 INFO L272 TraceCheckUtils]: 11: Hoare triple {4855#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4818#true} is VALID [2022-04-07 13:38:50,136 INFO L290 TraceCheckUtils]: 12: Hoare triple {4818#true} ~cond := #in~cond; {4818#true} is VALID [2022-04-07 13:38:50,136 INFO L290 TraceCheckUtils]: 13: Hoare triple {4818#true} assume !(0 == ~cond); {4818#true} is VALID [2022-04-07 13:38:50,136 INFO L290 TraceCheckUtils]: 14: Hoare triple {4818#true} assume true; {4818#true} is VALID [2022-04-07 13:38:50,137 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4818#true} {4855#(<= 1 main_~x~0)} #80#return; {4855#(<= 1 main_~x~0)} is VALID [2022-04-07 13:38:50,138 INFO L290 TraceCheckUtils]: 16: Hoare triple {4855#(<= 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; {4874#(<= 1 main_~a~0)} is VALID [2022-04-07 13:38:50,138 INFO L272 TraceCheckUtils]: 17: Hoare triple {4874#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4818#true} is VALID [2022-04-07 13:38:50,138 INFO L290 TraceCheckUtils]: 18: Hoare triple {4818#true} ~cond := #in~cond; {4818#true} is VALID [2022-04-07 13:38:50,138 INFO L290 TraceCheckUtils]: 19: Hoare triple {4818#true} assume !(0 == ~cond); {4818#true} is VALID [2022-04-07 13:38:50,138 INFO L290 TraceCheckUtils]: 20: Hoare triple {4818#true} assume true; {4818#true} is VALID [2022-04-07 13:38:50,138 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4818#true} {4874#(<= 1 main_~a~0)} #82#return; {4874#(<= 1 main_~a~0)} is VALID [2022-04-07 13:38:50,138 INFO L272 TraceCheckUtils]: 22: Hoare triple {4874#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4818#true} is VALID [2022-04-07 13:38:50,138 INFO L290 TraceCheckUtils]: 23: Hoare triple {4818#true} ~cond := #in~cond; {4818#true} is VALID [2022-04-07 13:38:50,139 INFO L290 TraceCheckUtils]: 24: Hoare triple {4818#true} assume !(0 == ~cond); {4818#true} is VALID [2022-04-07 13:38:50,139 INFO L290 TraceCheckUtils]: 25: Hoare triple {4818#true} assume true; {4818#true} is VALID [2022-04-07 13:38:50,139 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4818#true} {4874#(<= 1 main_~a~0)} #84#return; {4874#(<= 1 main_~a~0)} is VALID [2022-04-07 13:38:50,139 INFO L290 TraceCheckUtils]: 27: Hoare triple {4874#(<= 1 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4874#(<= 1 main_~a~0)} is VALID [2022-04-07 13:38:50,139 INFO L290 TraceCheckUtils]: 28: Hoare triple {4874#(<= 1 main_~a~0)} assume !!(#t~post6 < 100);havoc #t~post6; {4874#(<= 1 main_~a~0)} is VALID [2022-04-07 13:38:50,140 INFO L290 TraceCheckUtils]: 29: Hoare triple {4874#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4914#(<= 1 main_~c~0)} is VALID [2022-04-07 13:38:50,140 INFO L290 TraceCheckUtils]: 30: Hoare triple {4914#(<= 1 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4914#(<= 1 main_~c~0)} is VALID [2022-04-07 13:38:50,140 INFO L290 TraceCheckUtils]: 31: Hoare triple {4914#(<= 1 main_~c~0)} assume !!(#t~post7 < 100);havoc #t~post7; {4914#(<= 1 main_~c~0)} is VALID [2022-04-07 13:38:50,140 INFO L272 TraceCheckUtils]: 32: Hoare triple {4914#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4818#true} is VALID [2022-04-07 13:38:50,140 INFO L290 TraceCheckUtils]: 33: Hoare triple {4818#true} ~cond := #in~cond; {4818#true} is VALID [2022-04-07 13:38:50,141 INFO L290 TraceCheckUtils]: 34: Hoare triple {4818#true} assume !(0 == ~cond); {4818#true} is VALID [2022-04-07 13:38:50,141 INFO L290 TraceCheckUtils]: 35: Hoare triple {4818#true} assume true; {4818#true} is VALID [2022-04-07 13:38:50,141 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4818#true} {4914#(<= 1 main_~c~0)} #86#return; {4914#(<= 1 main_~c~0)} is VALID [2022-04-07 13:38:50,141 INFO L272 TraceCheckUtils]: 37: Hoare triple {4914#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4818#true} is VALID [2022-04-07 13:38:50,141 INFO L290 TraceCheckUtils]: 38: Hoare triple {4818#true} ~cond := #in~cond; {4818#true} is VALID [2022-04-07 13:38:50,141 INFO L290 TraceCheckUtils]: 39: Hoare triple {4818#true} assume !(0 == ~cond); {4818#true} is VALID [2022-04-07 13:38:50,141 INFO L290 TraceCheckUtils]: 40: Hoare triple {4818#true} assume true; {4818#true} is VALID [2022-04-07 13:38:50,142 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4818#true} {4914#(<= 1 main_~c~0)} #88#return; {4914#(<= 1 main_~c~0)} is VALID [2022-04-07 13:38:50,142 INFO L272 TraceCheckUtils]: 42: Hoare triple {4914#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4818#true} is VALID [2022-04-07 13:38:50,142 INFO L290 TraceCheckUtils]: 43: Hoare triple {4818#true} ~cond := #in~cond; {4818#true} is VALID [2022-04-07 13:38:50,142 INFO L290 TraceCheckUtils]: 44: Hoare triple {4818#true} assume !(0 == ~cond); {4818#true} is VALID [2022-04-07 13:38:50,142 INFO L290 TraceCheckUtils]: 45: Hoare triple {4818#true} assume true; {4818#true} is VALID [2022-04-07 13:38:50,143 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4818#true} {4914#(<= 1 main_~c~0)} #90#return; {4914#(<= 1 main_~c~0)} is VALID [2022-04-07 13:38:50,143 INFO L272 TraceCheckUtils]: 47: Hoare triple {4914#(<= 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)); {4818#true} is VALID [2022-04-07 13:38:50,143 INFO L290 TraceCheckUtils]: 48: Hoare triple {4818#true} ~cond := #in~cond; {4818#true} is VALID [2022-04-07 13:38:50,143 INFO L290 TraceCheckUtils]: 49: Hoare triple {4818#true} assume !(0 == ~cond); {4818#true} is VALID [2022-04-07 13:38:50,143 INFO L290 TraceCheckUtils]: 50: Hoare triple {4818#true} assume true; {4818#true} is VALID [2022-04-07 13:38:50,144 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4818#true} {4914#(<= 1 main_~c~0)} #92#return; {4914#(<= 1 main_~c~0)} is VALID [2022-04-07 13:38:50,144 INFO L290 TraceCheckUtils]: 52: Hoare triple {4914#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {4914#(<= 1 main_~c~0)} is VALID [2022-04-07 13:38:50,144 INFO L290 TraceCheckUtils]: 53: Hoare triple {4914#(<= 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; {4987#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:50,144 INFO L290 TraceCheckUtils]: 54: Hoare triple {4987#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4987#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:50,145 INFO L290 TraceCheckUtils]: 55: Hoare triple {4987#(<= 1 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {4987#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:50,145 INFO L290 TraceCheckUtils]: 56: Hoare triple {4987#(<= 1 main_~b~0)} assume !(0 != ~b~0); {4819#false} is VALID [2022-04-07 13:38:50,145 INFO L272 TraceCheckUtils]: 57: Hoare triple {4819#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {4819#false} is VALID [2022-04-07 13:38:50,145 INFO L290 TraceCheckUtils]: 58: Hoare triple {4819#false} ~cond := #in~cond; {4819#false} is VALID [2022-04-07 13:38:50,145 INFO L290 TraceCheckUtils]: 59: Hoare triple {4819#false} assume 0 == ~cond; {4819#false} is VALID [2022-04-07 13:38:50,145 INFO L290 TraceCheckUtils]: 60: Hoare triple {4819#false} assume !false; {4819#false} is VALID [2022-04-07 13:38:50,145 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 12 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-07 13:38:50,145 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:38:50,416 INFO L290 TraceCheckUtils]: 60: Hoare triple {4819#false} assume !false; {4819#false} is VALID [2022-04-07 13:38:50,416 INFO L290 TraceCheckUtils]: 59: Hoare triple {4819#false} assume 0 == ~cond; {4819#false} is VALID [2022-04-07 13:38:50,416 INFO L290 TraceCheckUtils]: 58: Hoare triple {4819#false} ~cond := #in~cond; {4819#false} is VALID [2022-04-07 13:38:50,417 INFO L272 TraceCheckUtils]: 57: Hoare triple {4819#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {4819#false} is VALID [2022-04-07 13:38:50,417 INFO L290 TraceCheckUtils]: 56: Hoare triple {4987#(<= 1 main_~b~0)} assume !(0 != ~b~0); {4819#false} is VALID [2022-04-07 13:38:50,417 INFO L290 TraceCheckUtils]: 55: Hoare triple {4987#(<= 1 main_~b~0)} assume !!(#t~post6 < 100);havoc #t~post6; {4987#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:50,417 INFO L290 TraceCheckUtils]: 54: Hoare triple {4987#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4987#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:50,418 INFO L290 TraceCheckUtils]: 53: Hoare triple {4914#(<= 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; {4987#(<= 1 main_~b~0)} is VALID [2022-04-07 13:38:50,418 INFO L290 TraceCheckUtils]: 52: Hoare triple {4914#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {4914#(<= 1 main_~c~0)} is VALID [2022-04-07 13:38:50,419 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4818#true} {4914#(<= 1 main_~c~0)} #92#return; {4914#(<= 1 main_~c~0)} is VALID [2022-04-07 13:38:50,419 INFO L290 TraceCheckUtils]: 50: Hoare triple {4818#true} assume true; {4818#true} is VALID [2022-04-07 13:38:50,419 INFO L290 TraceCheckUtils]: 49: Hoare triple {4818#true} assume !(0 == ~cond); {4818#true} is VALID [2022-04-07 13:38:50,419 INFO L290 TraceCheckUtils]: 48: Hoare triple {4818#true} ~cond := #in~cond; {4818#true} is VALID [2022-04-07 13:38:50,419 INFO L272 TraceCheckUtils]: 47: Hoare triple {4914#(<= 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)); {4818#true} is VALID [2022-04-07 13:38:50,419 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4818#true} {4914#(<= 1 main_~c~0)} #90#return; {4914#(<= 1 main_~c~0)} is VALID [2022-04-07 13:38:50,419 INFO L290 TraceCheckUtils]: 45: Hoare triple {4818#true} assume true; {4818#true} is VALID [2022-04-07 13:38:50,419 INFO L290 TraceCheckUtils]: 44: Hoare triple {4818#true} assume !(0 == ~cond); {4818#true} is VALID [2022-04-07 13:38:50,419 INFO L290 TraceCheckUtils]: 43: Hoare triple {4818#true} ~cond := #in~cond; {4818#true} is VALID [2022-04-07 13:38:50,420 INFO L272 TraceCheckUtils]: 42: Hoare triple {4914#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4818#true} is VALID [2022-04-07 13:38:50,420 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4818#true} {4914#(<= 1 main_~c~0)} #88#return; {4914#(<= 1 main_~c~0)} is VALID [2022-04-07 13:38:50,420 INFO L290 TraceCheckUtils]: 40: Hoare triple {4818#true} assume true; {4818#true} is VALID [2022-04-07 13:38:50,420 INFO L290 TraceCheckUtils]: 39: Hoare triple {4818#true} assume !(0 == ~cond); {4818#true} is VALID [2022-04-07 13:38:50,420 INFO L290 TraceCheckUtils]: 38: Hoare triple {4818#true} ~cond := #in~cond; {4818#true} is VALID [2022-04-07 13:38:50,420 INFO L272 TraceCheckUtils]: 37: Hoare triple {4914#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4818#true} is VALID [2022-04-07 13:38:50,421 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4818#true} {4914#(<= 1 main_~c~0)} #86#return; {4914#(<= 1 main_~c~0)} is VALID [2022-04-07 13:38:50,421 INFO L290 TraceCheckUtils]: 35: Hoare triple {4818#true} assume true; {4818#true} is VALID [2022-04-07 13:38:50,421 INFO L290 TraceCheckUtils]: 34: Hoare triple {4818#true} assume !(0 == ~cond); {4818#true} is VALID [2022-04-07 13:38:50,421 INFO L290 TraceCheckUtils]: 33: Hoare triple {4818#true} ~cond := #in~cond; {4818#true} is VALID [2022-04-07 13:38:50,421 INFO L272 TraceCheckUtils]: 32: Hoare triple {4914#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4818#true} is VALID [2022-04-07 13:38:50,421 INFO L290 TraceCheckUtils]: 31: Hoare triple {4914#(<= 1 main_~c~0)} assume !!(#t~post7 < 100);havoc #t~post7; {4914#(<= 1 main_~c~0)} is VALID [2022-04-07 13:38:50,421 INFO L290 TraceCheckUtils]: 30: Hoare triple {4914#(<= 1 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4914#(<= 1 main_~c~0)} is VALID [2022-04-07 13:38:50,422 INFO L290 TraceCheckUtils]: 29: Hoare triple {4874#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4914#(<= 1 main_~c~0)} is VALID [2022-04-07 13:38:50,422 INFO L290 TraceCheckUtils]: 28: Hoare triple {4874#(<= 1 main_~a~0)} assume !!(#t~post6 < 100);havoc #t~post6; {4874#(<= 1 main_~a~0)} is VALID [2022-04-07 13:38:50,422 INFO L290 TraceCheckUtils]: 27: Hoare triple {4874#(<= 1 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4874#(<= 1 main_~a~0)} is VALID [2022-04-07 13:38:50,422 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4818#true} {4874#(<= 1 main_~a~0)} #84#return; {4874#(<= 1 main_~a~0)} is VALID [2022-04-07 13:38:50,423 INFO L290 TraceCheckUtils]: 25: Hoare triple {4818#true} assume true; {4818#true} is VALID [2022-04-07 13:38:50,423 INFO L290 TraceCheckUtils]: 24: Hoare triple {4818#true} assume !(0 == ~cond); {4818#true} is VALID [2022-04-07 13:38:50,423 INFO L290 TraceCheckUtils]: 23: Hoare triple {4818#true} ~cond := #in~cond; {4818#true} is VALID [2022-04-07 13:38:50,423 INFO L272 TraceCheckUtils]: 22: Hoare triple {4874#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4818#true} is VALID [2022-04-07 13:38:50,423 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4818#true} {4874#(<= 1 main_~a~0)} #82#return; {4874#(<= 1 main_~a~0)} is VALID [2022-04-07 13:38:50,423 INFO L290 TraceCheckUtils]: 20: Hoare triple {4818#true} assume true; {4818#true} is VALID [2022-04-07 13:38:50,423 INFO L290 TraceCheckUtils]: 19: Hoare triple {4818#true} assume !(0 == ~cond); {4818#true} is VALID [2022-04-07 13:38:50,423 INFO L290 TraceCheckUtils]: 18: Hoare triple {4818#true} ~cond := #in~cond; {4818#true} is VALID [2022-04-07 13:38:50,423 INFO L272 TraceCheckUtils]: 17: Hoare triple {4874#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4818#true} is VALID [2022-04-07 13:38:50,424 INFO L290 TraceCheckUtils]: 16: Hoare triple {4855#(<= 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; {4874#(<= 1 main_~a~0)} is VALID [2022-04-07 13:38:50,424 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4818#true} {4855#(<= 1 main_~x~0)} #80#return; {4855#(<= 1 main_~x~0)} is VALID [2022-04-07 13:38:50,424 INFO L290 TraceCheckUtils]: 14: Hoare triple {4818#true} assume true; {4818#true} is VALID [2022-04-07 13:38:50,424 INFO L290 TraceCheckUtils]: 13: Hoare triple {4818#true} assume !(0 == ~cond); {4818#true} is VALID [2022-04-07 13:38:50,424 INFO L290 TraceCheckUtils]: 12: Hoare triple {4818#true} ~cond := #in~cond; {4818#true} is VALID [2022-04-07 13:38:50,424 INFO L272 TraceCheckUtils]: 11: Hoare triple {4855#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4818#true} is VALID [2022-04-07 13:38:50,425 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4848#(not (= |assume_abort_if_not_#in~cond| 0))} {4818#true} #78#return; {4855#(<= 1 main_~x~0)} is VALID [2022-04-07 13:38:50,425 INFO L290 TraceCheckUtils]: 9: Hoare triple {4848#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4848#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:38:50,425 INFO L290 TraceCheckUtils]: 8: Hoare triple {5168#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4848#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:38:50,425 INFO L290 TraceCheckUtils]: 7: Hoare triple {4818#true} ~cond := #in~cond; {5168#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-07 13:38:50,426 INFO L272 TraceCheckUtils]: 6: Hoare triple {4818#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4818#true} is VALID [2022-04-07 13:38:50,426 INFO L290 TraceCheckUtils]: 5: Hoare triple {4818#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4818#true} is VALID [2022-04-07 13:38:50,426 INFO L272 TraceCheckUtils]: 4: Hoare triple {4818#true} call #t~ret8 := main(); {4818#true} is VALID [2022-04-07 13:38:50,426 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4818#true} {4818#true} #98#return; {4818#true} is VALID [2022-04-07 13:38:50,426 INFO L290 TraceCheckUtils]: 2: Hoare triple {4818#true} assume true; {4818#true} is VALID [2022-04-07 13:38:50,426 INFO L290 TraceCheckUtils]: 1: Hoare triple {4818#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);~counter~0 := 0; {4818#true} is VALID [2022-04-07 13:38:50,426 INFO L272 TraceCheckUtils]: 0: Hoare triple {4818#true} call ULTIMATE.init(); {4818#true} is VALID [2022-04-07 13:38:50,426 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 12 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-07 13:38:50,426 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:38:50,426 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1789828432] [2022-04-07 13:38:50,426 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:38:50,426 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1683369814] [2022-04-07 13:38:50,426 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1683369814] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:38:50,426 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:38:50,426 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-07 13:38:50,427 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1413782094] [2022-04-07 13:38:50,427 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:38:50,427 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 61 [2022-04-07 13:38:50,427 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:38:50,427 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-07 13:38:50,455 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:38:50,455 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-07 13:38:50,455 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:38:50,455 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-07 13:38:50,455 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-07 13:38:50,456 INFO L87 Difference]: Start difference. First operand 199 states and 237 transitions. Second operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-07 13:38:51,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:51,218 INFO L93 Difference]: Finished difference Result 283 states and 368 transitions. [2022-04-07 13:38:51,218 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-07 13:38:51,218 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 61 [2022-04-07 13:38:51,218 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:38:51,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-07 13:38:51,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 147 transitions. [2022-04-07 13:38:51,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-07 13:38:51,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 147 transitions. [2022-04-07 13:38:51,223 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 147 transitions. [2022-04-07 13:38:51,337 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 147 edges. 147 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:38:51,342 INFO L225 Difference]: With dead ends: 283 [2022-04-07 13:38:51,342 INFO L226 Difference]: Without dead ends: 263 [2022-04-07 13:38:51,343 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 128 GetRequests, 113 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=60, Invalid=180, Unknown=0, NotChecked=0, Total=240 [2022-04-07 13:38:51,343 INFO L913 BasicCegarLoop]: 70 mSDtfsCounter, 64 mSDsluCounter, 192 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 71 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 69 SdHoareTripleChecker+Valid, 262 SdHoareTripleChecker+Invalid, 203 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 71 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 13:38:51,343 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [69 Valid, 262 Invalid, 203 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [71 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 13:38:51,344 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 263 states. [2022-04-07 13:38:51,512 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 263 to 239. [2022-04-07 13:38:51,513 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:38:51,513 INFO L82 GeneralOperation]: Start isEquivalent. First operand 263 states. Second operand has 239 states, 153 states have (on average 1.2222222222222223) internal successors, (187), 156 states have internal predecessors, (187), 60 states have call successors, (60), 26 states have call predecessors, (60), 25 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-07 13:38:51,514 INFO L74 IsIncluded]: Start isIncluded. First operand 263 states. Second operand has 239 states, 153 states have (on average 1.2222222222222223) internal successors, (187), 156 states have internal predecessors, (187), 60 states have call successors, (60), 26 states have call predecessors, (60), 25 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-07 13:38:51,514 INFO L87 Difference]: Start difference. First operand 263 states. Second operand has 239 states, 153 states have (on average 1.2222222222222223) internal successors, (187), 156 states have internal predecessors, (187), 60 states have call successors, (60), 26 states have call predecessors, (60), 25 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-07 13:38:51,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:51,521 INFO L93 Difference]: Finished difference Result 263 states and 342 transitions. [2022-04-07 13:38:51,521 INFO L276 IsEmpty]: Start isEmpty. Operand 263 states and 342 transitions. [2022-04-07 13:38:51,521 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:51,521 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:51,522 INFO L74 IsIncluded]: Start isIncluded. First operand has 239 states, 153 states have (on average 1.2222222222222223) internal successors, (187), 156 states have internal predecessors, (187), 60 states have call successors, (60), 26 states have call predecessors, (60), 25 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) Second operand 263 states. [2022-04-07 13:38:51,522 INFO L87 Difference]: Start difference. First operand has 239 states, 153 states have (on average 1.2222222222222223) internal successors, (187), 156 states have internal predecessors, (187), 60 states have call successors, (60), 26 states have call predecessors, (60), 25 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) Second operand 263 states. [2022-04-07 13:38:51,528 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:51,528 INFO L93 Difference]: Finished difference Result 263 states and 342 transitions. [2022-04-07 13:38:51,528 INFO L276 IsEmpty]: Start isEmpty. Operand 263 states and 342 transitions. [2022-04-07 13:38:51,529 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:51,529 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:51,529 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:38:51,529 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:38:51,529 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 239 states, 153 states have (on average 1.2222222222222223) internal successors, (187), 156 states have internal predecessors, (187), 60 states have call successors, (60), 26 states have call predecessors, (60), 25 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-07 13:38:51,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 239 states to 239 states and 303 transitions. [2022-04-07 13:38:51,534 INFO L78 Accepts]: Start accepts. Automaton has 239 states and 303 transitions. Word has length 61 [2022-04-07 13:38:51,534 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:38:51,534 INFO L478 AbstractCegarLoop]: Abstraction has 239 states and 303 transitions. [2022-04-07 13:38:51,534 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-07 13:38:51,534 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 303 transitions. [2022-04-07 13:38:51,535 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-07 13:38:51,535 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:38:51,535 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 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, 1, 1, 1] [2022-04-07 13:38:51,553 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-07 13:38:51,753 WARN L460 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-07 13:38:51,754 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:38:51,754 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:38:51,754 INFO L85 PathProgramCache]: Analyzing trace with hash 428029148, now seen corresponding path program 1 times [2022-04-07 13:38:51,754 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:38:51,754 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1864161668] [2022-04-07 13:38:51,754 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:51,754 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:38:51,764 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:38:51,764 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1617193297] [2022-04-07 13:38:51,764 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:51,764 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:38:51,764 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:38:51,765 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:38:51,770 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-07 13:38:51,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:51,818 INFO L263 TraceCheckSpWp]: Trace formula consists of 202 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-07 13:38:51,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:51,831 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:38:52,052 INFO L272 TraceCheckUtils]: 0: Hoare triple {6497#true} call ULTIMATE.init(); {6497#true} is VALID [2022-04-07 13:38:52,052 INFO L290 TraceCheckUtils]: 1: Hoare triple {6497#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);~counter~0 := 0; {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,052 INFO L290 TraceCheckUtils]: 2: Hoare triple {6505#(<= ~counter~0 0)} assume true; {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,053 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6505#(<= ~counter~0 0)} {6497#true} #98#return; {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,053 INFO L272 TraceCheckUtils]: 4: Hoare triple {6505#(<= ~counter~0 0)} call #t~ret8 := main(); {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,053 INFO L290 TraceCheckUtils]: 5: Hoare triple {6505#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,054 INFO L272 TraceCheckUtils]: 6: Hoare triple {6505#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,054 INFO L290 TraceCheckUtils]: 7: Hoare triple {6505#(<= ~counter~0 0)} ~cond := #in~cond; {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,054 INFO L290 TraceCheckUtils]: 8: Hoare triple {6505#(<= ~counter~0 0)} assume !(0 == ~cond); {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,054 INFO L290 TraceCheckUtils]: 9: Hoare triple {6505#(<= ~counter~0 0)} assume true; {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,055 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6505#(<= ~counter~0 0)} {6505#(<= ~counter~0 0)} #78#return; {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,055 INFO L272 TraceCheckUtils]: 11: Hoare triple {6505#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,055 INFO L290 TraceCheckUtils]: 12: Hoare triple {6505#(<= ~counter~0 0)} ~cond := #in~cond; {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,055 INFO L290 TraceCheckUtils]: 13: Hoare triple {6505#(<= ~counter~0 0)} assume !(0 == ~cond); {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,056 INFO L290 TraceCheckUtils]: 14: Hoare triple {6505#(<= ~counter~0 0)} assume true; {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,056 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6505#(<= ~counter~0 0)} {6505#(<= ~counter~0 0)} #80#return; {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,056 INFO L290 TraceCheckUtils]: 16: Hoare triple {6505#(<= ~counter~0 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; {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,056 INFO L272 TraceCheckUtils]: 17: Hoare triple {6505#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,057 INFO L290 TraceCheckUtils]: 18: Hoare triple {6505#(<= ~counter~0 0)} ~cond := #in~cond; {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,057 INFO L290 TraceCheckUtils]: 19: Hoare triple {6505#(<= ~counter~0 0)} assume !(0 == ~cond); {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,057 INFO L290 TraceCheckUtils]: 20: Hoare triple {6505#(<= ~counter~0 0)} assume true; {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,057 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6505#(<= ~counter~0 0)} {6505#(<= ~counter~0 0)} #82#return; {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,058 INFO L272 TraceCheckUtils]: 22: Hoare triple {6505#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,071 INFO L290 TraceCheckUtils]: 23: Hoare triple {6505#(<= ~counter~0 0)} ~cond := #in~cond; {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,072 INFO L290 TraceCheckUtils]: 24: Hoare triple {6505#(<= ~counter~0 0)} assume !(0 == ~cond); {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,072 INFO L290 TraceCheckUtils]: 25: Hoare triple {6505#(<= ~counter~0 0)} assume true; {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,072 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6505#(<= ~counter~0 0)} {6505#(<= ~counter~0 0)} #84#return; {6505#(<= ~counter~0 0)} is VALID [2022-04-07 13:38:52,073 INFO L290 TraceCheckUtils]: 27: Hoare triple {6505#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6584#(<= ~counter~0 1)} is VALID [2022-04-07 13:38:52,073 INFO L290 TraceCheckUtils]: 28: Hoare triple {6584#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {6584#(<= ~counter~0 1)} is VALID [2022-04-07 13:38:52,073 INFO L290 TraceCheckUtils]: 29: Hoare triple {6584#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6584#(<= ~counter~0 1)} is VALID [2022-04-07 13:38:52,074 INFO L290 TraceCheckUtils]: 30: Hoare triple {6584#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,074 INFO L290 TraceCheckUtils]: 31: Hoare triple {6594#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,074 INFO L272 TraceCheckUtils]: 32: Hoare triple {6594#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,075 INFO L290 TraceCheckUtils]: 33: Hoare triple {6594#(<= ~counter~0 2)} ~cond := #in~cond; {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,075 INFO L290 TraceCheckUtils]: 34: Hoare triple {6594#(<= ~counter~0 2)} assume !(0 == ~cond); {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,075 INFO L290 TraceCheckUtils]: 35: Hoare triple {6594#(<= ~counter~0 2)} assume true; {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,076 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6594#(<= ~counter~0 2)} {6594#(<= ~counter~0 2)} #86#return; {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,076 INFO L272 TraceCheckUtils]: 37: Hoare triple {6594#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,076 INFO L290 TraceCheckUtils]: 38: Hoare triple {6594#(<= ~counter~0 2)} ~cond := #in~cond; {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,077 INFO L290 TraceCheckUtils]: 39: Hoare triple {6594#(<= ~counter~0 2)} assume !(0 == ~cond); {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,077 INFO L290 TraceCheckUtils]: 40: Hoare triple {6594#(<= ~counter~0 2)} assume true; {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,077 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6594#(<= ~counter~0 2)} {6594#(<= ~counter~0 2)} #88#return; {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,078 INFO L272 TraceCheckUtils]: 42: Hoare triple {6594#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,078 INFO L290 TraceCheckUtils]: 43: Hoare triple {6594#(<= ~counter~0 2)} ~cond := #in~cond; {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,078 INFO L290 TraceCheckUtils]: 44: Hoare triple {6594#(<= ~counter~0 2)} assume !(0 == ~cond); {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,078 INFO L290 TraceCheckUtils]: 45: Hoare triple {6594#(<= ~counter~0 2)} assume true; {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,079 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6594#(<= ~counter~0 2)} {6594#(<= ~counter~0 2)} #90#return; {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,080 INFO L272 TraceCheckUtils]: 47: Hoare triple {6594#(<= ~counter~0 2)} 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)); {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,080 INFO L290 TraceCheckUtils]: 48: Hoare triple {6594#(<= ~counter~0 2)} ~cond := #in~cond; {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,080 INFO L290 TraceCheckUtils]: 49: Hoare triple {6594#(<= ~counter~0 2)} assume !(0 == ~cond); {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,080 INFO L290 TraceCheckUtils]: 50: Hoare triple {6594#(<= ~counter~0 2)} assume true; {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,081 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6594#(<= ~counter~0 2)} {6594#(<= ~counter~0 2)} #92#return; {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,081 INFO L290 TraceCheckUtils]: 52: Hoare triple {6594#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {6594#(<= ~counter~0 2)} is VALID [2022-04-07 13:38:52,081 INFO L290 TraceCheckUtils]: 53: Hoare triple {6594#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6664#(<= |main_#t~post7| 2)} is VALID [2022-04-07 13:38:52,082 INFO L290 TraceCheckUtils]: 54: Hoare triple {6664#(<= |main_#t~post7| 2)} assume !(#t~post7 < 100);havoc #t~post7; {6498#false} is VALID [2022-04-07 13:38:52,082 INFO L290 TraceCheckUtils]: 55: Hoare triple {6498#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; {6498#false} is VALID [2022-04-07 13:38:52,082 INFO L290 TraceCheckUtils]: 56: Hoare triple {6498#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6498#false} is VALID [2022-04-07 13:38:52,082 INFO L290 TraceCheckUtils]: 57: Hoare triple {6498#false} assume !!(#t~post6 < 100);havoc #t~post6; {6498#false} is VALID [2022-04-07 13:38:52,082 INFO L290 TraceCheckUtils]: 58: Hoare triple {6498#false} assume !(0 != ~b~0); {6498#false} is VALID [2022-04-07 13:38:52,082 INFO L272 TraceCheckUtils]: 59: Hoare triple {6498#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {6498#false} is VALID [2022-04-07 13:38:52,082 INFO L290 TraceCheckUtils]: 60: Hoare triple {6498#false} ~cond := #in~cond; {6498#false} is VALID [2022-04-07 13:38:52,082 INFO L290 TraceCheckUtils]: 61: Hoare triple {6498#false} assume 0 == ~cond; {6498#false} is VALID [2022-04-07 13:38:52,082 INFO L290 TraceCheckUtils]: 62: Hoare triple {6498#false} assume !false; {6498#false} is VALID [2022-04-07 13:38:52,082 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 11 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-07 13:38:52,082 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:38:52,296 INFO L290 TraceCheckUtils]: 62: Hoare triple {6498#false} assume !false; {6498#false} is VALID [2022-04-07 13:38:52,296 INFO L290 TraceCheckUtils]: 61: Hoare triple {6498#false} assume 0 == ~cond; {6498#false} is VALID [2022-04-07 13:38:52,296 INFO L290 TraceCheckUtils]: 60: Hoare triple {6498#false} ~cond := #in~cond; {6498#false} is VALID [2022-04-07 13:38:52,296 INFO L272 TraceCheckUtils]: 59: Hoare triple {6498#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {6498#false} is VALID [2022-04-07 13:38:52,296 INFO L290 TraceCheckUtils]: 58: Hoare triple {6498#false} assume !(0 != ~b~0); {6498#false} is VALID [2022-04-07 13:38:52,296 INFO L290 TraceCheckUtils]: 57: Hoare triple {6498#false} assume !!(#t~post6 < 100);havoc #t~post6; {6498#false} is VALID [2022-04-07 13:38:52,297 INFO L290 TraceCheckUtils]: 56: Hoare triple {6498#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6498#false} is VALID [2022-04-07 13:38:52,297 INFO L290 TraceCheckUtils]: 55: Hoare triple {6498#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; {6498#false} is VALID [2022-04-07 13:38:52,297 INFO L290 TraceCheckUtils]: 54: Hoare triple {6716#(< |main_#t~post7| 100)} assume !(#t~post7 < 100);havoc #t~post7; {6498#false} is VALID [2022-04-07 13:38:52,297 INFO L290 TraceCheckUtils]: 53: Hoare triple {6720#(< ~counter~0 100)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6716#(< |main_#t~post7| 100)} is VALID [2022-04-07 13:38:52,297 INFO L290 TraceCheckUtils]: 52: Hoare triple {6720#(< ~counter~0 100)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {6720#(< ~counter~0 100)} is VALID [2022-04-07 13:38:52,298 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6497#true} {6720#(< ~counter~0 100)} #92#return; {6720#(< ~counter~0 100)} is VALID [2022-04-07 13:38:52,298 INFO L290 TraceCheckUtils]: 50: Hoare triple {6497#true} assume true; {6497#true} is VALID [2022-04-07 13:38:52,298 INFO L290 TraceCheckUtils]: 49: Hoare triple {6497#true} assume !(0 == ~cond); {6497#true} is VALID [2022-04-07 13:38:52,298 INFO L290 TraceCheckUtils]: 48: Hoare triple {6497#true} ~cond := #in~cond; {6497#true} is VALID [2022-04-07 13:38:52,298 INFO L272 TraceCheckUtils]: 47: Hoare triple {6720#(< ~counter~0 100)} 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)); {6497#true} is VALID [2022-04-07 13:38:52,299 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6497#true} {6720#(< ~counter~0 100)} #90#return; {6720#(< ~counter~0 100)} is VALID [2022-04-07 13:38:52,299 INFO L290 TraceCheckUtils]: 45: Hoare triple {6497#true} assume true; {6497#true} is VALID [2022-04-07 13:38:52,299 INFO L290 TraceCheckUtils]: 44: Hoare triple {6497#true} assume !(0 == ~cond); {6497#true} is VALID [2022-04-07 13:38:52,299 INFO L290 TraceCheckUtils]: 43: Hoare triple {6497#true} ~cond := #in~cond; {6497#true} is VALID [2022-04-07 13:38:52,299 INFO L272 TraceCheckUtils]: 42: Hoare triple {6720#(< ~counter~0 100)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6497#true} is VALID [2022-04-07 13:38:52,299 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6497#true} {6720#(< ~counter~0 100)} #88#return; {6720#(< ~counter~0 100)} is VALID [2022-04-07 13:38:52,299 INFO L290 TraceCheckUtils]: 40: Hoare triple {6497#true} assume true; {6497#true} is VALID [2022-04-07 13:38:52,299 INFO L290 TraceCheckUtils]: 39: Hoare triple {6497#true} assume !(0 == ~cond); {6497#true} is VALID [2022-04-07 13:38:52,300 INFO L290 TraceCheckUtils]: 38: Hoare triple {6497#true} ~cond := #in~cond; {6497#true} is VALID [2022-04-07 13:38:52,300 INFO L272 TraceCheckUtils]: 37: Hoare triple {6720#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6497#true} is VALID [2022-04-07 13:38:52,300 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6497#true} {6720#(< ~counter~0 100)} #86#return; {6720#(< ~counter~0 100)} is VALID [2022-04-07 13:38:52,300 INFO L290 TraceCheckUtils]: 35: Hoare triple {6497#true} assume true; {6497#true} is VALID [2022-04-07 13:38:52,300 INFO L290 TraceCheckUtils]: 34: Hoare triple {6497#true} assume !(0 == ~cond); {6497#true} is VALID [2022-04-07 13:38:52,300 INFO L290 TraceCheckUtils]: 33: Hoare triple {6497#true} ~cond := #in~cond; {6497#true} is VALID [2022-04-07 13:38:52,300 INFO L272 TraceCheckUtils]: 32: Hoare triple {6720#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6497#true} is VALID [2022-04-07 13:38:52,300 INFO L290 TraceCheckUtils]: 31: Hoare triple {6720#(< ~counter~0 100)} assume !!(#t~post7 < 100);havoc #t~post7; {6720#(< ~counter~0 100)} is VALID [2022-04-07 13:38:52,301 INFO L290 TraceCheckUtils]: 30: Hoare triple {6790#(< ~counter~0 99)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6720#(< ~counter~0 100)} is VALID [2022-04-07 13:38:52,301 INFO L290 TraceCheckUtils]: 29: Hoare triple {6790#(< ~counter~0 99)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6790#(< ~counter~0 99)} is VALID [2022-04-07 13:38:52,301 INFO L290 TraceCheckUtils]: 28: Hoare triple {6790#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {6790#(< ~counter~0 99)} is VALID [2022-04-07 13:38:52,302 INFO L290 TraceCheckUtils]: 27: Hoare triple {6800#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6790#(< ~counter~0 99)} is VALID [2022-04-07 13:38:52,302 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6497#true} {6800#(< ~counter~0 98)} #84#return; {6800#(< ~counter~0 98)} is VALID [2022-04-07 13:38:52,302 INFO L290 TraceCheckUtils]: 25: Hoare triple {6497#true} assume true; {6497#true} is VALID [2022-04-07 13:38:52,302 INFO L290 TraceCheckUtils]: 24: Hoare triple {6497#true} assume !(0 == ~cond); {6497#true} is VALID [2022-04-07 13:38:52,302 INFO L290 TraceCheckUtils]: 23: Hoare triple {6497#true} ~cond := #in~cond; {6497#true} is VALID [2022-04-07 13:38:52,302 INFO L272 TraceCheckUtils]: 22: Hoare triple {6800#(< ~counter~0 98)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {6497#true} is VALID [2022-04-07 13:38:52,303 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6497#true} {6800#(< ~counter~0 98)} #82#return; {6800#(< ~counter~0 98)} is VALID [2022-04-07 13:38:52,303 INFO L290 TraceCheckUtils]: 20: Hoare triple {6497#true} assume true; {6497#true} is VALID [2022-04-07 13:38:52,303 INFO L290 TraceCheckUtils]: 19: Hoare triple {6497#true} assume !(0 == ~cond); {6497#true} is VALID [2022-04-07 13:38:52,303 INFO L290 TraceCheckUtils]: 18: Hoare triple {6497#true} ~cond := #in~cond; {6497#true} is VALID [2022-04-07 13:38:52,303 INFO L272 TraceCheckUtils]: 17: Hoare triple {6800#(< ~counter~0 98)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {6497#true} is VALID [2022-04-07 13:38:52,303 INFO L290 TraceCheckUtils]: 16: Hoare triple {6800#(< ~counter~0 98)} ~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; {6800#(< ~counter~0 98)} is VALID [2022-04-07 13:38:52,304 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6497#true} {6800#(< ~counter~0 98)} #80#return; {6800#(< ~counter~0 98)} is VALID [2022-04-07 13:38:52,304 INFO L290 TraceCheckUtils]: 14: Hoare triple {6497#true} assume true; {6497#true} is VALID [2022-04-07 13:38:52,304 INFO L290 TraceCheckUtils]: 13: Hoare triple {6497#true} assume !(0 == ~cond); {6497#true} is VALID [2022-04-07 13:38:52,304 INFO L290 TraceCheckUtils]: 12: Hoare triple {6497#true} ~cond := #in~cond; {6497#true} is VALID [2022-04-07 13:38:52,304 INFO L272 TraceCheckUtils]: 11: Hoare triple {6800#(< ~counter~0 98)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6497#true} is VALID [2022-04-07 13:38:52,304 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6497#true} {6800#(< ~counter~0 98)} #78#return; {6800#(< ~counter~0 98)} is VALID [2022-04-07 13:38:52,304 INFO L290 TraceCheckUtils]: 9: Hoare triple {6497#true} assume true; {6497#true} is VALID [2022-04-07 13:38:52,304 INFO L290 TraceCheckUtils]: 8: Hoare triple {6497#true} assume !(0 == ~cond); {6497#true} is VALID [2022-04-07 13:38:52,304 INFO L290 TraceCheckUtils]: 7: Hoare triple {6497#true} ~cond := #in~cond; {6497#true} is VALID [2022-04-07 13:38:52,304 INFO L272 TraceCheckUtils]: 6: Hoare triple {6800#(< ~counter~0 98)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6497#true} is VALID [2022-04-07 13:38:52,305 INFO L290 TraceCheckUtils]: 5: Hoare triple {6800#(< ~counter~0 98)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6800#(< ~counter~0 98)} is VALID [2022-04-07 13:38:52,305 INFO L272 TraceCheckUtils]: 4: Hoare triple {6800#(< ~counter~0 98)} call #t~ret8 := main(); {6800#(< ~counter~0 98)} is VALID [2022-04-07 13:38:52,305 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6800#(< ~counter~0 98)} {6497#true} #98#return; {6800#(< ~counter~0 98)} is VALID [2022-04-07 13:38:52,305 INFO L290 TraceCheckUtils]: 2: Hoare triple {6800#(< ~counter~0 98)} assume true; {6800#(< ~counter~0 98)} is VALID [2022-04-07 13:38:52,306 INFO L290 TraceCheckUtils]: 1: Hoare triple {6497#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);~counter~0 := 0; {6800#(< ~counter~0 98)} is VALID [2022-04-07 13:38:52,306 INFO L272 TraceCheckUtils]: 0: Hoare triple {6497#true} call ULTIMATE.init(); {6497#true} is VALID [2022-04-07 13:38:52,306 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 11 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-07 13:38:52,306 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:38:52,306 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1864161668] [2022-04-07 13:38:52,306 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:38:52,306 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1617193297] [2022-04-07 13:38:52,306 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1617193297] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:38:52,306 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:38:52,306 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-07 13:38:52,307 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1323287914] [2022-04-07 13:38:52,307 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:38:52,307 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.3) internal successors, (43), 10 states have internal predecessors, (43), 6 states have call successors, (20), 5 states have call predecessors, (20), 4 states have return successors, (18), 4 states have call predecessors, (18), 5 states have call successors, (18) Word has length 63 [2022-04-07 13:38:52,307 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:38:52,307 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.3) internal successors, (43), 10 states have internal predecessors, (43), 6 states have call successors, (20), 5 states have call predecessors, (20), 4 states have return successors, (18), 4 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-07 13:38:52,363 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:38:52,363 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-07 13:38:52,363 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:38:52,363 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-07 13:38:52,363 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-07 13:38:52,364 INFO L87 Difference]: Start difference. First operand 239 states and 303 transitions. Second operand has 10 states, 10 states have (on average 4.3) internal successors, (43), 10 states have internal predecessors, (43), 6 states have call successors, (20), 5 states have call predecessors, (20), 4 states have return successors, (18), 4 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-07 13:38:52,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:52,948 INFO L93 Difference]: Finished difference Result 348 states and 452 transitions. [2022-04-07 13:38:52,948 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-07 13:38:52,948 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.3) internal successors, (43), 10 states have internal predecessors, (43), 6 states have call successors, (20), 5 states have call predecessors, (20), 4 states have return successors, (18), 4 states have call predecessors, (18), 5 states have call successors, (18) Word has length 63 [2022-04-07 13:38:52,948 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:38:52,948 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.3) internal successors, (43), 10 states have internal predecessors, (43), 6 states have call successors, (20), 5 states have call predecessors, (20), 4 states have return successors, (18), 4 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-07 13:38:52,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 167 transitions. [2022-04-07 13:38:52,950 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.3) internal successors, (43), 10 states have internal predecessors, (43), 6 states have call successors, (20), 5 states have call predecessors, (20), 4 states have return successors, (18), 4 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-07 13:38:52,952 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 167 transitions. [2022-04-07 13:38:52,952 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 167 transitions. [2022-04-07 13:38:53,067 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:38:53,072 INFO L225 Difference]: With dead ends: 348 [2022-04-07 13:38:53,072 INFO L226 Difference]: Without dead ends: 252 [2022-04-07 13:38:53,075 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 117 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=63, Invalid=119, Unknown=0, NotChecked=0, Total=182 [2022-04-07 13:38:53,075 INFO L913 BasicCegarLoop]: 60 mSDtfsCounter, 85 mSDsluCounter, 206 mSDsCounter, 0 mSdLazyCounter, 86 mSolverCounterSat, 60 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 85 SdHoareTripleChecker+Valid, 266 SdHoareTripleChecker+Invalid, 146 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 60 IncrementalHoareTripleChecker+Valid, 86 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 13:38:53,076 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [85 Valid, 266 Invalid, 146 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [60 Valid, 86 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 13:38:53,076 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 252 states. [2022-04-07 13:38:53,260 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 252 to 248. [2022-04-07 13:38:53,260 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:38:53,261 INFO L82 GeneralOperation]: Start isEquivalent. First operand 252 states. Second operand has 248 states, 162 states have (on average 1.1728395061728396) internal successors, (190), 165 states have internal predecessors, (190), 60 states have call successors, (60), 26 states have call predecessors, (60), 25 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-07 13:38:53,261 INFO L74 IsIncluded]: Start isIncluded. First operand 252 states. Second operand has 248 states, 162 states have (on average 1.1728395061728396) internal successors, (190), 165 states have internal predecessors, (190), 60 states have call successors, (60), 26 states have call predecessors, (60), 25 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-07 13:38:53,261 INFO L87 Difference]: Start difference. First operand 252 states. Second operand has 248 states, 162 states have (on average 1.1728395061728396) internal successors, (190), 165 states have internal predecessors, (190), 60 states have call successors, (60), 26 states have call predecessors, (60), 25 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-07 13:38:53,267 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:53,267 INFO L93 Difference]: Finished difference Result 252 states and 308 transitions. [2022-04-07 13:38:53,267 INFO L276 IsEmpty]: Start isEmpty. Operand 252 states and 308 transitions. [2022-04-07 13:38:53,268 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:53,268 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:53,268 INFO L74 IsIncluded]: Start isIncluded. First operand has 248 states, 162 states have (on average 1.1728395061728396) internal successors, (190), 165 states have internal predecessors, (190), 60 states have call successors, (60), 26 states have call predecessors, (60), 25 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) Second operand 252 states. [2022-04-07 13:38:53,269 INFO L87 Difference]: Start difference. First operand has 248 states, 162 states have (on average 1.1728395061728396) internal successors, (190), 165 states have internal predecessors, (190), 60 states have call successors, (60), 26 states have call predecessors, (60), 25 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) Second operand 252 states. [2022-04-07 13:38:53,274 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:38:53,274 INFO L93 Difference]: Finished difference Result 252 states and 308 transitions. [2022-04-07 13:38:53,274 INFO L276 IsEmpty]: Start isEmpty. Operand 252 states and 308 transitions. [2022-04-07 13:38:53,275 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:38:53,275 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:38:53,275 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:38:53,275 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:38:53,275 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 248 states, 162 states have (on average 1.1728395061728396) internal successors, (190), 165 states have internal predecessors, (190), 60 states have call successors, (60), 26 states have call predecessors, (60), 25 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-07 13:38:53,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 248 states to 248 states and 306 transitions. [2022-04-07 13:38:53,280 INFO L78 Accepts]: Start accepts. Automaton has 248 states and 306 transitions. Word has length 63 [2022-04-07 13:38:53,280 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:38:53,281 INFO L478 AbstractCegarLoop]: Abstraction has 248 states and 306 transitions. [2022-04-07 13:38:53,281 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.3) internal successors, (43), 10 states have internal predecessors, (43), 6 states have call successors, (20), 5 states have call predecessors, (20), 4 states have return successors, (18), 4 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-07 13:38:53,281 INFO L276 IsEmpty]: Start isEmpty. Operand 248 states and 306 transitions. [2022-04-07 13:38:53,281 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-07 13:38:53,281 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:38:53,281 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:38:53,300 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-07 13:38:53,491 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-07 13:38:53,491 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:38:53,492 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:38:53,492 INFO L85 PathProgramCache]: Analyzing trace with hash 792554045, now seen corresponding path program 1 times [2022-04-07 13:38:53,492 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:38:53,492 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [326235493] [2022-04-07 13:38:53,492 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:53,492 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:38:53,504 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:38:53,504 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1386486400] [2022-04-07 13:38:53,504 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:38:53,504 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:38:53,505 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:38:53,506 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:38:53,507 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-07 13:38:53,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:53,550 INFO L263 TraceCheckSpWp]: Trace formula consists of 210 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-07 13:38:53,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:38:53,562 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:38:53,903 INFO L272 TraceCheckUtils]: 0: Hoare triple {8263#true} call ULTIMATE.init(); {8263#true} is VALID [2022-04-07 13:38:53,903 INFO L290 TraceCheckUtils]: 1: Hoare triple {8263#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);~counter~0 := 0; {8263#true} is VALID [2022-04-07 13:38:53,903 INFO L290 TraceCheckUtils]: 2: Hoare triple {8263#true} assume true; {8263#true} is VALID [2022-04-07 13:38:53,903 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8263#true} {8263#true} #98#return; {8263#true} is VALID [2022-04-07 13:38:53,903 INFO L272 TraceCheckUtils]: 4: Hoare triple {8263#true} call #t~ret8 := main(); {8263#true} is VALID [2022-04-07 13:38:53,903 INFO L290 TraceCheckUtils]: 5: Hoare triple {8263#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8263#true} is VALID [2022-04-07 13:38:53,903 INFO L272 TraceCheckUtils]: 6: Hoare triple {8263#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8263#true} is VALID [2022-04-07 13:38:53,903 INFO L290 TraceCheckUtils]: 7: Hoare triple {8263#true} ~cond := #in~cond; {8263#true} is VALID [2022-04-07 13:38:53,903 INFO L290 TraceCheckUtils]: 8: Hoare triple {8263#true} assume !(0 == ~cond); {8263#true} is VALID [2022-04-07 13:38:53,904 INFO L290 TraceCheckUtils]: 9: Hoare triple {8263#true} assume true; {8263#true} is VALID [2022-04-07 13:38:53,904 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8263#true} {8263#true} #78#return; {8263#true} is VALID [2022-04-07 13:38:53,904 INFO L272 TraceCheckUtils]: 11: Hoare triple {8263#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8263#true} is VALID [2022-04-07 13:38:53,904 INFO L290 TraceCheckUtils]: 12: Hoare triple {8263#true} ~cond := #in~cond; {8263#true} is VALID [2022-04-07 13:38:53,904 INFO L290 TraceCheckUtils]: 13: Hoare triple {8263#true} assume !(0 == ~cond); {8263#true} is VALID [2022-04-07 13:38:53,904 INFO L290 TraceCheckUtils]: 14: Hoare triple {8263#true} assume true; {8263#true} is VALID [2022-04-07 13:38:53,904 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8263#true} {8263#true} #80#return; {8263#true} is VALID [2022-04-07 13:38:53,904 INFO L290 TraceCheckUtils]: 16: Hoare triple {8263#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; {8316#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 13:38:53,904 INFO L272 TraceCheckUtils]: 17: Hoare triple {8316#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8263#true} is VALID [2022-04-07 13:38:53,904 INFO L290 TraceCheckUtils]: 18: Hoare triple {8263#true} ~cond := #in~cond; {8263#true} is VALID [2022-04-07 13:38:53,904 INFO L290 TraceCheckUtils]: 19: Hoare triple {8263#true} assume !(0 == ~cond); {8263#true} is VALID [2022-04-07 13:38:53,904 INFO L290 TraceCheckUtils]: 20: Hoare triple {8263#true} assume true; {8263#true} is VALID [2022-04-07 13:38:53,905 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8263#true} {8316#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #82#return; {8316#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 13:38:53,905 INFO L272 TraceCheckUtils]: 22: Hoare triple {8316#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8263#true} is VALID [2022-04-07 13:38:53,905 INFO L290 TraceCheckUtils]: 23: Hoare triple {8263#true} ~cond := #in~cond; {8263#true} is VALID [2022-04-07 13:38:53,905 INFO L290 TraceCheckUtils]: 24: Hoare triple {8263#true} assume !(0 == ~cond); {8263#true} is VALID [2022-04-07 13:38:53,905 INFO L290 TraceCheckUtils]: 25: Hoare triple {8263#true} assume true; {8263#true} is VALID [2022-04-07 13:38:53,906 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8263#true} {8316#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #84#return; {8316#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 13:38:53,906 INFO L290 TraceCheckUtils]: 27: Hoare triple {8316#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8316#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 13:38:53,906 INFO L290 TraceCheckUtils]: 28: Hoare triple {8316#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {8316#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 13:38:53,907 INFO L290 TraceCheckUtils]: 29: Hoare triple {8316#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-07 13:38:53,907 INFO L290 TraceCheckUtils]: 30: Hoare triple {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-07 13:38:53,907 INFO L290 TraceCheckUtils]: 31: Hoare triple {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !!(#t~post7 < 100);havoc #t~post7; {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-07 13:38:53,907 INFO L272 TraceCheckUtils]: 32: Hoare triple {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8263#true} is VALID [2022-04-07 13:38:53,907 INFO L290 TraceCheckUtils]: 33: Hoare triple {8263#true} ~cond := #in~cond; {8263#true} is VALID [2022-04-07 13:38:53,907 INFO L290 TraceCheckUtils]: 34: Hoare triple {8263#true} assume !(0 == ~cond); {8263#true} is VALID [2022-04-07 13:38:53,907 INFO L290 TraceCheckUtils]: 35: Hoare triple {8263#true} assume true; {8263#true} is VALID [2022-04-07 13:38:53,908 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8263#true} {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #86#return; {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-07 13:38:53,908 INFO L272 TraceCheckUtils]: 37: Hoare triple {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 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)); {8263#true} is VALID [2022-04-07 13:38:53,908 INFO L290 TraceCheckUtils]: 38: Hoare triple {8263#true} ~cond := #in~cond; {8263#true} is VALID [2022-04-07 13:38:53,908 INFO L290 TraceCheckUtils]: 39: Hoare triple {8263#true} assume !(0 == ~cond); {8263#true} is VALID [2022-04-07 13:38:53,908 INFO L290 TraceCheckUtils]: 40: Hoare triple {8263#true} assume true; {8263#true} is VALID [2022-04-07 13:38:53,909 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8263#true} {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #88#return; {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-07 13:38:53,909 INFO L272 TraceCheckUtils]: 42: Hoare triple {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 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)); {8263#true} is VALID [2022-04-07 13:38:53,909 INFO L290 TraceCheckUtils]: 43: Hoare triple {8263#true} ~cond := #in~cond; {8399#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:38:53,909 INFO L290 TraceCheckUtils]: 44: Hoare triple {8399#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8403#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:38:53,910 INFO L290 TraceCheckUtils]: 45: Hoare triple {8403#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8403#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:38:53,910 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8403#(not (= |__VERIFIER_assert_#in~cond| 0))} {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #90#return; {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-07 13:38:53,910 INFO L272 TraceCheckUtils]: 47: Hoare triple {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 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)); {8263#true} is VALID [2022-04-07 13:38:53,910 INFO L290 TraceCheckUtils]: 48: Hoare triple {8263#true} ~cond := #in~cond; {8263#true} is VALID [2022-04-07 13:38:53,910 INFO L290 TraceCheckUtils]: 49: Hoare triple {8263#true} assume !(0 == ~cond); {8263#true} is VALID [2022-04-07 13:38:53,910 INFO L290 TraceCheckUtils]: 50: Hoare triple {8263#true} assume true; {8263#true} is VALID [2022-04-07 13:38:53,911 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8263#true} {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #92#return; {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-07 13:38:53,911 INFO L290 TraceCheckUtils]: 52: Hoare triple {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-07 13:38:53,911 INFO L290 TraceCheckUtils]: 53: Hoare triple {8356#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~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; {8431#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:38:53,912 INFO L290 TraceCheckUtils]: 54: Hoare triple {8431#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8431#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:38:53,913 INFO L290 TraceCheckUtils]: 55: Hoare triple {8431#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(#t~post6 < 100);havoc #t~post6; {8431#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:38:53,914 INFO L290 TraceCheckUtils]: 56: Hoare triple {8431#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8431#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:38:53,915 INFO L290 TraceCheckUtils]: 57: Hoare triple {8431#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8431#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:38:53,917 INFO L290 TraceCheckUtils]: 58: Hoare triple {8431#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(#t~post7 < 100);havoc #t~post7; {8431#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:38:53,917 INFO L272 TraceCheckUtils]: 59: Hoare triple {8431#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8263#true} is VALID [2022-04-07 13:38:53,917 INFO L290 TraceCheckUtils]: 60: Hoare triple {8263#true} ~cond := #in~cond; {8263#true} is VALID [2022-04-07 13:38:53,917 INFO L290 TraceCheckUtils]: 61: Hoare triple {8263#true} assume !(0 == ~cond); {8263#true} is VALID [2022-04-07 13:38:53,917 INFO L290 TraceCheckUtils]: 62: Hoare triple {8263#true} assume true; {8263#true} is VALID [2022-04-07 13:38:53,918 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {8263#true} {8431#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} #86#return; {8431#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 13:38:53,918 INFO L272 TraceCheckUtils]: 64: Hoare triple {8431#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8465#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:38:53,919 INFO L290 TraceCheckUtils]: 65: Hoare triple {8465#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8469#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:38:53,919 INFO L290 TraceCheckUtils]: 66: Hoare triple {8469#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8264#false} is VALID [2022-04-07 13:38:53,919 INFO L290 TraceCheckUtils]: 67: Hoare triple {8264#false} assume !false; {8264#false} is VALID [2022-04-07 13:38:53,919 INFO L134 CoverageAnalysis]: Checked inductivity of 81 backedges. 15 proven. 14 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-07 13:38:53,919 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:39:10,182 INFO L290 TraceCheckUtils]: 67: Hoare triple {8264#false} assume !false; {8264#false} is VALID [2022-04-07 13:39:10,182 INFO L290 TraceCheckUtils]: 66: Hoare triple {8469#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8264#false} is VALID [2022-04-07 13:39:10,182 INFO L290 TraceCheckUtils]: 65: Hoare triple {8465#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8469#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:39:10,183 INFO L272 TraceCheckUtils]: 64: Hoare triple {8485#(= 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)); {8465#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:39:10,184 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {8263#true} {8485#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #86#return; {8485#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:39:10,184 INFO L290 TraceCheckUtils]: 62: Hoare triple {8263#true} assume true; {8263#true} is VALID [2022-04-07 13:39:10,184 INFO L290 TraceCheckUtils]: 61: Hoare triple {8263#true} assume !(0 == ~cond); {8263#true} is VALID [2022-04-07 13:39:10,184 INFO L290 TraceCheckUtils]: 60: Hoare triple {8263#true} ~cond := #in~cond; {8263#true} is VALID [2022-04-07 13:39:10,184 INFO L272 TraceCheckUtils]: 59: Hoare triple {8485#(= 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)); {8263#true} is VALID [2022-04-07 13:39:10,184 INFO L290 TraceCheckUtils]: 58: Hoare triple {8485#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {8485#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:39:10,185 INFO L290 TraceCheckUtils]: 57: Hoare triple {8485#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8485#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:39:10,185 INFO L290 TraceCheckUtils]: 56: Hoare triple {8485#(= 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; {8485#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:39:10,185 INFO L290 TraceCheckUtils]: 55: Hoare triple {8485#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {8485#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:39:10,185 INFO L290 TraceCheckUtils]: 54: Hoare triple {8485#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8485#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:39:10,186 INFO L290 TraceCheckUtils]: 53: Hoare triple {8519#(= 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; {8485#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 13:39:10,186 INFO L290 TraceCheckUtils]: 52: Hoare triple {8519#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {8519#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:39:10,187 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8263#true} {8519#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #92#return; {8519#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:39:10,187 INFO L290 TraceCheckUtils]: 50: Hoare triple {8263#true} assume true; {8263#true} is VALID [2022-04-07 13:39:10,187 INFO L290 TraceCheckUtils]: 49: Hoare triple {8263#true} assume !(0 == ~cond); {8263#true} is VALID [2022-04-07 13:39:10,187 INFO L290 TraceCheckUtils]: 48: Hoare triple {8263#true} ~cond := #in~cond; {8263#true} is VALID [2022-04-07 13:39:10,187 INFO L272 TraceCheckUtils]: 47: Hoare triple {8519#(= 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)); {8263#true} is VALID [2022-04-07 13:39:10,187 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8403#(not (= |__VERIFIER_assert_#in~cond| 0))} {8263#true} #90#return; {8519#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:39:10,188 INFO L290 TraceCheckUtils]: 45: Hoare triple {8403#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8403#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:39:10,188 INFO L290 TraceCheckUtils]: 44: Hoare triple {8550#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8403#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:39:10,188 INFO L290 TraceCheckUtils]: 43: Hoare triple {8263#true} ~cond := #in~cond; {8550#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 13:39:10,188 INFO L272 TraceCheckUtils]: 42: Hoare triple {8263#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8263#true} is VALID [2022-04-07 13:39:10,188 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8263#true} {8263#true} #88#return; {8263#true} is VALID [2022-04-07 13:39:10,188 INFO L290 TraceCheckUtils]: 40: Hoare triple {8263#true} assume true; {8263#true} is VALID [2022-04-07 13:39:10,188 INFO L290 TraceCheckUtils]: 39: Hoare triple {8263#true} assume !(0 == ~cond); {8263#true} is VALID [2022-04-07 13:39:10,188 INFO L290 TraceCheckUtils]: 38: Hoare triple {8263#true} ~cond := #in~cond; {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L272 TraceCheckUtils]: 37: Hoare triple {8263#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8263#true} {8263#true} #86#return; {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L290 TraceCheckUtils]: 35: Hoare triple {8263#true} assume true; {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L290 TraceCheckUtils]: 34: Hoare triple {8263#true} assume !(0 == ~cond); {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L290 TraceCheckUtils]: 33: Hoare triple {8263#true} ~cond := #in~cond; {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L272 TraceCheckUtils]: 32: Hoare triple {8263#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L290 TraceCheckUtils]: 31: Hoare triple {8263#true} assume !!(#t~post7 < 100);havoc #t~post7; {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L290 TraceCheckUtils]: 30: Hoare triple {8263#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L290 TraceCheckUtils]: 29: Hoare triple {8263#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L290 TraceCheckUtils]: 28: Hoare triple {8263#true} assume !!(#t~post6 < 100);havoc #t~post6; {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L290 TraceCheckUtils]: 27: Hoare triple {8263#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8263#true} {8263#true} #84#return; {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L290 TraceCheckUtils]: 25: Hoare triple {8263#true} assume true; {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L290 TraceCheckUtils]: 24: Hoare triple {8263#true} assume !(0 == ~cond); {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L290 TraceCheckUtils]: 23: Hoare triple {8263#true} ~cond := #in~cond; {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L272 TraceCheckUtils]: 22: Hoare triple {8263#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8263#true} {8263#true} #82#return; {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L290 TraceCheckUtils]: 20: Hoare triple {8263#true} assume true; {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L290 TraceCheckUtils]: 19: Hoare triple {8263#true} assume !(0 == ~cond); {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L290 TraceCheckUtils]: 18: Hoare triple {8263#true} ~cond := #in~cond; {8263#true} is VALID [2022-04-07 13:39:10,189 INFO L272 TraceCheckUtils]: 17: Hoare triple {8263#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8263#true} is VALID [2022-04-07 13:39:10,190 INFO L290 TraceCheckUtils]: 16: Hoare triple {8263#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; {8263#true} is VALID [2022-04-07 13:39:10,190 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8263#true} {8263#true} #80#return; {8263#true} is VALID [2022-04-07 13:39:10,190 INFO L290 TraceCheckUtils]: 14: Hoare triple {8263#true} assume true; {8263#true} is VALID [2022-04-07 13:39:10,190 INFO L290 TraceCheckUtils]: 13: Hoare triple {8263#true} assume !(0 == ~cond); {8263#true} is VALID [2022-04-07 13:39:10,190 INFO L290 TraceCheckUtils]: 12: Hoare triple {8263#true} ~cond := #in~cond; {8263#true} is VALID [2022-04-07 13:39:10,190 INFO L272 TraceCheckUtils]: 11: Hoare triple {8263#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8263#true} is VALID [2022-04-07 13:39:10,190 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8263#true} {8263#true} #78#return; {8263#true} is VALID [2022-04-07 13:39:10,190 INFO L290 TraceCheckUtils]: 9: Hoare triple {8263#true} assume true; {8263#true} is VALID [2022-04-07 13:39:10,190 INFO L290 TraceCheckUtils]: 8: Hoare triple {8263#true} assume !(0 == ~cond); {8263#true} is VALID [2022-04-07 13:39:10,190 INFO L290 TraceCheckUtils]: 7: Hoare triple {8263#true} ~cond := #in~cond; {8263#true} is VALID [2022-04-07 13:39:10,190 INFO L272 TraceCheckUtils]: 6: Hoare triple {8263#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8263#true} is VALID [2022-04-07 13:39:10,190 INFO L290 TraceCheckUtils]: 5: Hoare triple {8263#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8263#true} is VALID [2022-04-07 13:39:10,190 INFO L272 TraceCheckUtils]: 4: Hoare triple {8263#true} call #t~ret8 := main(); {8263#true} is VALID [2022-04-07 13:39:10,190 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8263#true} {8263#true} #98#return; {8263#true} is VALID [2022-04-07 13:39:10,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {8263#true} assume true; {8263#true} is VALID [2022-04-07 13:39:10,190 INFO L290 TraceCheckUtils]: 1: Hoare triple {8263#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);~counter~0 := 0; {8263#true} is VALID [2022-04-07 13:39:10,190 INFO L272 TraceCheckUtils]: 0: Hoare triple {8263#true} call ULTIMATE.init(); {8263#true} is VALID [2022-04-07 13:39:10,190 INFO L134 CoverageAnalysis]: Checked inductivity of 81 backedges. 22 proven. 7 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-07 13:39:10,191 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:39:10,191 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [326235493] [2022-04-07 13:39:10,191 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:39:10,191 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1386486400] [2022-04-07 13:39:10,191 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1386486400] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:39:10,191 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:39:10,191 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-07 13:39:10,191 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [479676664] [2022-04-07 13:39:10,191 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:39:10,192 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 11 states have internal predecessors, (43), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) Word has length 68 [2022-04-07 13:39:10,192 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:39:10,192 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 11 states have internal predecessors, (43), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-07 13:39:10,241 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:39:10,241 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-07 13:39:10,242 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:39:10,242 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-07 13:39:10,242 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-04-07 13:39:10,242 INFO L87 Difference]: Start difference. First operand 248 states and 306 transitions. Second operand has 12 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 11 states have internal predecessors, (43), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-07 13:39:11,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:39:11,628 INFO L93 Difference]: Finished difference Result 334 states and 433 transitions. [2022-04-07 13:39:11,628 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-07 13:39:11,628 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 11 states have internal predecessors, (43), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) Word has length 68 [2022-04-07 13:39:11,629 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:39:11,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 11 states have internal predecessors, (43), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-07 13:39:11,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 138 transitions. [2022-04-07 13:39:11,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 11 states have internal predecessors, (43), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-07 13:39:11,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 138 transitions. [2022-04-07 13:39:11,632 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 138 transitions. [2022-04-07 13:39:11,766 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:39:11,783 INFO L225 Difference]: With dead ends: 334 [2022-04-07 13:39:11,784 INFO L226 Difference]: Without dead ends: 328 [2022-04-07 13:39:11,785 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 145 GetRequests, 128 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=65, Invalid=241, Unknown=0, NotChecked=0, Total=306 [2022-04-07 13:39:11,785 INFO L913 BasicCegarLoop]: 54 mSDtfsCounter, 46 mSDsluCounter, 241 mSDsCounter, 0 mSdLazyCounter, 367 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 295 SdHoareTripleChecker+Invalid, 420 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 367 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-07 13:39:11,785 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [52 Valid, 295 Invalid, 420 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 367 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-07 13:39:11,786 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 328 states. [2022-04-07 13:39:11,980 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 328 to 295. [2022-04-07 13:39:11,981 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:39:11,981 INFO L82 GeneralOperation]: Start isEquivalent. First operand 328 states. Second operand has 295 states, 195 states have (on average 1.1948717948717948) internal successors, (233), 204 states have internal predecessors, (233), 71 states have call successors, (71), 29 states have call predecessors, (71), 28 states have return successors, (66), 61 states have call predecessors, (66), 66 states have call successors, (66) [2022-04-07 13:39:11,981 INFO L74 IsIncluded]: Start isIncluded. First operand 328 states. Second operand has 295 states, 195 states have (on average 1.1948717948717948) internal successors, (233), 204 states have internal predecessors, (233), 71 states have call successors, (71), 29 states have call predecessors, (71), 28 states have return successors, (66), 61 states have call predecessors, (66), 66 states have call successors, (66) [2022-04-07 13:39:11,982 INFO L87 Difference]: Start difference. First operand 328 states. Second operand has 295 states, 195 states have (on average 1.1948717948717948) internal successors, (233), 204 states have internal predecessors, (233), 71 states have call successors, (71), 29 states have call predecessors, (71), 28 states have return successors, (66), 61 states have call predecessors, (66), 66 states have call successors, (66) [2022-04-07 13:39:11,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:39:11,988 INFO L93 Difference]: Finished difference Result 328 states and 421 transitions. [2022-04-07 13:39:11,988 INFO L276 IsEmpty]: Start isEmpty. Operand 328 states and 421 transitions. [2022-04-07 13:39:11,989 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:39:11,989 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:39:11,990 INFO L74 IsIncluded]: Start isIncluded. First operand has 295 states, 195 states have (on average 1.1948717948717948) internal successors, (233), 204 states have internal predecessors, (233), 71 states have call successors, (71), 29 states have call predecessors, (71), 28 states have return successors, (66), 61 states have call predecessors, (66), 66 states have call successors, (66) Second operand 328 states. [2022-04-07 13:39:11,990 INFO L87 Difference]: Start difference. First operand has 295 states, 195 states have (on average 1.1948717948717948) internal successors, (233), 204 states have internal predecessors, (233), 71 states have call successors, (71), 29 states have call predecessors, (71), 28 states have return successors, (66), 61 states have call predecessors, (66), 66 states have call successors, (66) Second operand 328 states. [2022-04-07 13:39:11,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:39:11,997 INFO L93 Difference]: Finished difference Result 328 states and 421 transitions. [2022-04-07 13:39:11,997 INFO L276 IsEmpty]: Start isEmpty. Operand 328 states and 421 transitions. [2022-04-07 13:39:11,997 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:39:11,997 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:39:11,997 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:39:11,997 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:39:11,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 295 states, 195 states have (on average 1.1948717948717948) internal successors, (233), 204 states have internal predecessors, (233), 71 states have call successors, (71), 29 states have call predecessors, (71), 28 states have return successors, (66), 61 states have call predecessors, (66), 66 states have call successors, (66) [2022-04-07 13:39:12,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 295 states to 295 states and 370 transitions. [2022-04-07 13:39:12,004 INFO L78 Accepts]: Start accepts. Automaton has 295 states and 370 transitions. Word has length 68 [2022-04-07 13:39:12,004 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:39:12,004 INFO L478 AbstractCegarLoop]: Abstraction has 295 states and 370 transitions. [2022-04-07 13:39:12,004 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 11 states have internal predecessors, (43), 6 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-07 13:39:12,004 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 370 transitions. [2022-04-07 13:39:12,005 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-07 13:39:12,005 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:39:12,005 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 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] [2022-04-07 13:39:12,021 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-07 13:39:12,219 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-07 13:39:12,220 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:39:12,220 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:39:12,220 INFO L85 PathProgramCache]: Analyzing trace with hash 783638790, now seen corresponding path program 2 times [2022-04-07 13:39:12,220 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:39:12,220 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1689482667] [2022-04-07 13:39:12,220 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:39:12,220 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:39:12,230 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:39:12,230 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [190433816] [2022-04-07 13:39:12,230 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 13:39:12,230 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:39:12,230 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:39:12,231 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-07 13:39:12,237 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-07 13:39:12,282 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 13:39:12,282 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 13:39:12,284 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-07 13:39:12,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:39:12,300 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:39:12,699 INFO L272 TraceCheckUtils]: 0: Hoare triple {10276#true} call ULTIMATE.init(); {10276#true} is VALID [2022-04-07 13:39:12,699 INFO L290 TraceCheckUtils]: 1: Hoare triple {10276#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);~counter~0 := 0; {10276#true} is VALID [2022-04-07 13:39:12,699 INFO L290 TraceCheckUtils]: 2: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:12,706 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10276#true} {10276#true} #98#return; {10276#true} is VALID [2022-04-07 13:39:12,706 INFO L272 TraceCheckUtils]: 4: Hoare triple {10276#true} call #t~ret8 := main(); {10276#true} is VALID [2022-04-07 13:39:12,706 INFO L290 TraceCheckUtils]: 5: Hoare triple {10276#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10276#true} is VALID [2022-04-07 13:39:12,706 INFO L272 TraceCheckUtils]: 6: Hoare triple {10276#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10276#true} is VALID [2022-04-07 13:39:12,706 INFO L290 TraceCheckUtils]: 7: Hoare triple {10276#true} ~cond := #in~cond; {10276#true} is VALID [2022-04-07 13:39:12,707 INFO L290 TraceCheckUtils]: 8: Hoare triple {10276#true} assume !(0 == ~cond); {10276#true} is VALID [2022-04-07 13:39:12,707 INFO L290 TraceCheckUtils]: 9: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:12,707 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10276#true} {10276#true} #78#return; {10276#true} is VALID [2022-04-07 13:39:12,707 INFO L272 TraceCheckUtils]: 11: Hoare triple {10276#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10276#true} is VALID [2022-04-07 13:39:12,707 INFO L290 TraceCheckUtils]: 12: Hoare triple {10276#true} ~cond := #in~cond; {10276#true} is VALID [2022-04-07 13:39:12,707 INFO L290 TraceCheckUtils]: 13: Hoare triple {10276#true} assume !(0 == ~cond); {10276#true} is VALID [2022-04-07 13:39:12,707 INFO L290 TraceCheckUtils]: 14: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:12,707 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10276#true} {10276#true} #80#return; {10276#true} is VALID [2022-04-07 13:39:12,707 INFO L290 TraceCheckUtils]: 16: Hoare triple {10276#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; {10329#(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-07 13:39:12,707 INFO L272 TraceCheckUtils]: 17: Hoare triple {10329#(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)); {10276#true} is VALID [2022-04-07 13:39:12,707 INFO L290 TraceCheckUtils]: 18: Hoare triple {10276#true} ~cond := #in~cond; {10276#true} is VALID [2022-04-07 13:39:12,708 INFO L290 TraceCheckUtils]: 19: Hoare triple {10276#true} assume !(0 == ~cond); {10276#true} is VALID [2022-04-07 13:39:12,708 INFO L290 TraceCheckUtils]: 20: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:12,708 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10276#true} {10329#(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))} #82#return; {10329#(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-07 13:39:12,708 INFO L272 TraceCheckUtils]: 22: Hoare triple {10329#(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)); {10276#true} is VALID [2022-04-07 13:39:12,708 INFO L290 TraceCheckUtils]: 23: Hoare triple {10276#true} ~cond := #in~cond; {10276#true} is VALID [2022-04-07 13:39:12,708 INFO L290 TraceCheckUtils]: 24: Hoare triple {10276#true} assume !(0 == ~cond); {10276#true} is VALID [2022-04-07 13:39:12,708 INFO L290 TraceCheckUtils]: 25: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:12,709 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10276#true} {10329#(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))} #84#return; {10329#(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-07 13:39:12,710 INFO L290 TraceCheckUtils]: 27: Hoare triple {10329#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10329#(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-07 13:39:12,710 INFO L290 TraceCheckUtils]: 28: Hoare triple {10329#(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 !!(#t~post6 < 100);havoc #t~post6; {10329#(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-07 13:39:12,710 INFO L290 TraceCheckUtils]: 29: Hoare triple {10329#(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; {10369#(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-07 13:39:12,711 INFO L290 TraceCheckUtils]: 30: Hoare triple {10369#(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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10369#(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-07 13:39:12,711 INFO L290 TraceCheckUtils]: 31: Hoare triple {10369#(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 !!(#t~post7 < 100);havoc #t~post7; {10369#(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-07 13:39:12,711 INFO L272 TraceCheckUtils]: 32: Hoare triple {10369#(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)); {10276#true} is VALID [2022-04-07 13:39:12,711 INFO L290 TraceCheckUtils]: 33: Hoare triple {10276#true} ~cond := #in~cond; {10276#true} is VALID [2022-04-07 13:39:12,711 INFO L290 TraceCheckUtils]: 34: Hoare triple {10276#true} assume !(0 == ~cond); {10276#true} is VALID [2022-04-07 13:39:12,711 INFO L290 TraceCheckUtils]: 35: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:12,712 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10276#true} {10369#(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))} #86#return; {10369#(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-07 13:39:12,712 INFO L272 TraceCheckUtils]: 37: Hoare triple {10369#(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)); {10276#true} is VALID [2022-04-07 13:39:12,712 INFO L290 TraceCheckUtils]: 38: Hoare triple {10276#true} ~cond := #in~cond; {10276#true} is VALID [2022-04-07 13:39:12,712 INFO L290 TraceCheckUtils]: 39: Hoare triple {10276#true} assume !(0 == ~cond); {10276#true} is VALID [2022-04-07 13:39:12,712 INFO L290 TraceCheckUtils]: 40: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:12,713 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10276#true} {10369#(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))} #88#return; {10369#(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-07 13:39:12,713 INFO L272 TraceCheckUtils]: 42: Hoare triple {10369#(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)); {10276#true} is VALID [2022-04-07 13:39:12,713 INFO L290 TraceCheckUtils]: 43: Hoare triple {10276#true} ~cond := #in~cond; {10412#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:39:12,713 INFO L290 TraceCheckUtils]: 44: Hoare triple {10412#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:39:12,713 INFO L290 TraceCheckUtils]: 45: Hoare triple {10416#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:39:12,724 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10416#(not (= |__VERIFIER_assert_#in~cond| 0))} {10369#(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))} #90#return; {10423#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:39:12,724 INFO L272 TraceCheckUtils]: 47: Hoare triple {10423#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= 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)); {10276#true} is VALID [2022-04-07 13:39:12,724 INFO L290 TraceCheckUtils]: 48: Hoare triple {10276#true} ~cond := #in~cond; {10276#true} is VALID [2022-04-07 13:39:12,724 INFO L290 TraceCheckUtils]: 49: Hoare triple {10276#true} assume !(0 == ~cond); {10276#true} is VALID [2022-04-07 13:39:12,724 INFO L290 TraceCheckUtils]: 50: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:12,725 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10276#true} {10423#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #92#return; {10423#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:39:12,725 INFO L290 TraceCheckUtils]: 52: Hoare triple {10423#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {10423#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:39:12,725 INFO L290 TraceCheckUtils]: 53: Hoare triple {10423#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= 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; {10445#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 13:39:12,726 INFO L290 TraceCheckUtils]: 54: Hoare triple {10445#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10445#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 13:39:12,726 INFO L290 TraceCheckUtils]: 55: Hoare triple {10445#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {10445#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 13:39:12,726 INFO L290 TraceCheckUtils]: 56: Hoare triple {10445#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10445#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 13:39:12,727 INFO L290 TraceCheckUtils]: 57: Hoare triple {10445#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10445#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 13:39:12,727 INFO L290 TraceCheckUtils]: 58: Hoare triple {10445#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {10445#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 13:39:12,727 INFO L272 TraceCheckUtils]: 59: Hoare triple {10445#(and (= main_~s~0 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)); {10276#true} is VALID [2022-04-07 13:39:12,727 INFO L290 TraceCheckUtils]: 60: Hoare triple {10276#true} ~cond := #in~cond; {10276#true} is VALID [2022-04-07 13:39:12,727 INFO L290 TraceCheckUtils]: 61: Hoare triple {10276#true} assume !(0 == ~cond); {10276#true} is VALID [2022-04-07 13:39:12,727 INFO L290 TraceCheckUtils]: 62: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:12,728 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {10276#true} {10445#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #86#return; {10445#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 13:39:12,728 INFO L272 TraceCheckUtils]: 64: Hoare triple {10445#(and (= main_~s~0 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)); {10276#true} is VALID [2022-04-07 13:39:12,728 INFO L290 TraceCheckUtils]: 65: Hoare triple {10276#true} ~cond := #in~cond; {10276#true} is VALID [2022-04-07 13:39:12,728 INFO L290 TraceCheckUtils]: 66: Hoare triple {10276#true} assume !(0 == ~cond); {10276#true} is VALID [2022-04-07 13:39:12,728 INFO L290 TraceCheckUtils]: 67: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:12,729 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10276#true} {10445#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #88#return; {10445#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 13:39:12,729 INFO L272 TraceCheckUtils]: 69: Hoare triple {10445#(and (= main_~s~0 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)); {10494#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:39:12,729 INFO L290 TraceCheckUtils]: 70: Hoare triple {10494#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10498#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:39:12,730 INFO L290 TraceCheckUtils]: 71: Hoare triple {10498#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10277#false} is VALID [2022-04-07 13:39:12,730 INFO L290 TraceCheckUtils]: 72: Hoare triple {10277#false} assume !false; {10277#false} is VALID [2022-04-07 13:39:12,730 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 17 proven. 18 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-07 13:39:12,730 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:39:29,761 INFO L290 TraceCheckUtils]: 72: Hoare triple {10277#false} assume !false; {10277#false} is VALID [2022-04-07 13:39:29,762 INFO L290 TraceCheckUtils]: 71: Hoare triple {10498#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10277#false} is VALID [2022-04-07 13:39:29,762 INFO L290 TraceCheckUtils]: 70: Hoare triple {10494#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10498#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:39:29,762 INFO L272 TraceCheckUtils]: 69: Hoare triple {10514#(= 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)); {10494#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:39:29,763 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10276#true} {10514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #88#return; {10514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:39:29,763 INFO L290 TraceCheckUtils]: 67: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:29,763 INFO L290 TraceCheckUtils]: 66: Hoare triple {10276#true} assume !(0 == ~cond); {10276#true} is VALID [2022-04-07 13:39:29,763 INFO L290 TraceCheckUtils]: 65: Hoare triple {10276#true} ~cond := #in~cond; {10276#true} is VALID [2022-04-07 13:39:29,763 INFO L272 TraceCheckUtils]: 64: Hoare triple {10514#(= 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)); {10276#true} is VALID [2022-04-07 13:39:29,764 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {10276#true} {10514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #86#return; {10514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:39:29,764 INFO L290 TraceCheckUtils]: 62: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:29,764 INFO L290 TraceCheckUtils]: 61: Hoare triple {10276#true} assume !(0 == ~cond); {10276#true} is VALID [2022-04-07 13:39:29,764 INFO L290 TraceCheckUtils]: 60: Hoare triple {10276#true} ~cond := #in~cond; {10276#true} is VALID [2022-04-07 13:39:29,764 INFO L272 TraceCheckUtils]: 59: Hoare triple {10514#(= 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)); {10276#true} is VALID [2022-04-07 13:39:29,764 INFO L290 TraceCheckUtils]: 58: Hoare triple {10514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {10514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:39:29,765 INFO L290 TraceCheckUtils]: 57: Hoare triple {10514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:39:29,765 INFO L290 TraceCheckUtils]: 56: Hoare triple {10514#(= 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; {10514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:39:29,765 INFO L290 TraceCheckUtils]: 55: Hoare triple {10514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {10514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:39:29,765 INFO L290 TraceCheckUtils]: 54: Hoare triple {10514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 13:39:31,767 WARN L290 TraceCheckUtils]: 53: Hoare triple {10563#(= (+ (* (+ (* (* 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; {10514#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-07 13:39:31,768 INFO L290 TraceCheckUtils]: 52: Hoare triple {10563#(= (+ (* (+ (* (* 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); {10563#(= (+ (* (+ (* (* 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-07 13:39:31,768 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10276#true} {10563#(= (+ (* (+ (* (* 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)} #92#return; {10563#(= (+ (* (+ (* (* 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-07 13:39:31,768 INFO L290 TraceCheckUtils]: 50: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:31,769 INFO L290 TraceCheckUtils]: 49: Hoare triple {10276#true} assume !(0 == ~cond); {10276#true} is VALID [2022-04-07 13:39:31,769 INFO L290 TraceCheckUtils]: 48: Hoare triple {10276#true} ~cond := #in~cond; {10276#true} is VALID [2022-04-07 13:39:31,769 INFO L272 TraceCheckUtils]: 47: Hoare triple {10563#(= (+ (* (+ (* (* 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)); {10276#true} is VALID [2022-04-07 13:39:31,769 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10416#(not (= |__VERIFIER_assert_#in~cond| 0))} {10585#(or (= (+ (* (+ (* (* 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) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #90#return; {10563#(= (+ (* (+ (* (* 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-07 13:39:31,770 INFO L290 TraceCheckUtils]: 45: Hoare triple {10416#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:39:31,770 INFO L290 TraceCheckUtils]: 44: Hoare triple {10595#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:39:31,770 INFO L290 TraceCheckUtils]: 43: Hoare triple {10276#true} ~cond := #in~cond; {10595#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 13:39:31,770 INFO L272 TraceCheckUtils]: 42: Hoare triple {10585#(or (= (+ (* (+ (* (* 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) (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)); {10276#true} is VALID [2022-04-07 13:39:31,771 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10276#true} {10585#(or (= (+ (* (+ (* (* 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) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #88#return; {10585#(or (= (+ (* (+ (* (* 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) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:39:31,771 INFO L290 TraceCheckUtils]: 40: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:31,771 INFO L290 TraceCheckUtils]: 39: Hoare triple {10276#true} assume !(0 == ~cond); {10276#true} is VALID [2022-04-07 13:39:31,771 INFO L290 TraceCheckUtils]: 38: Hoare triple {10276#true} ~cond := #in~cond; {10276#true} is VALID [2022-04-07 13:39:31,771 INFO L272 TraceCheckUtils]: 37: Hoare triple {10585#(or (= (+ (* (+ (* (* 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) (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)); {10276#true} is VALID [2022-04-07 13:39:31,772 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10276#true} {10585#(or (= (+ (* (+ (* (* 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) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #86#return; {10585#(or (= (+ (* (+ (* (* 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) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:39:31,772 INFO L290 TraceCheckUtils]: 35: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:31,772 INFO L290 TraceCheckUtils]: 34: Hoare triple {10276#true} assume !(0 == ~cond); {10276#true} is VALID [2022-04-07 13:39:31,772 INFO L290 TraceCheckUtils]: 33: Hoare triple {10276#true} ~cond := #in~cond; {10276#true} is VALID [2022-04-07 13:39:31,772 INFO L272 TraceCheckUtils]: 32: Hoare triple {10585#(or (= (+ (* (+ (* (* 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) (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)); {10276#true} is VALID [2022-04-07 13:39:31,772 INFO L290 TraceCheckUtils]: 31: Hoare triple {10585#(or (= (+ (* (+ (* (* 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) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(#t~post7 < 100);havoc #t~post7; {10585#(or (= (+ (* (+ (* (* 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) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:39:31,773 INFO L290 TraceCheckUtils]: 30: Hoare triple {10585#(or (= (+ (* (+ (* (* 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) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10585#(or (= (+ (* (+ (* (* 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) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:39:31,773 INFO L290 TraceCheckUtils]: 29: Hoare triple {10638#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~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; {10585#(or (= (+ (* (+ (* (* 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) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:39:31,773 INFO L290 TraceCheckUtils]: 28: Hoare triple {10638#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(#t~post6 < 100);havoc #t~post6; {10638#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:39:31,774 INFO L290 TraceCheckUtils]: 27: Hoare triple {10638#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10638#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:39:31,774 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10276#true} {10638#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #84#return; {10638#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:39:31,774 INFO L290 TraceCheckUtils]: 25: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:31,774 INFO L290 TraceCheckUtils]: 24: Hoare triple {10276#true} assume !(0 == ~cond); {10276#true} is VALID [2022-04-07 13:39:31,775 INFO L290 TraceCheckUtils]: 23: Hoare triple {10276#true} ~cond := #in~cond; {10276#true} is VALID [2022-04-07 13:39:31,775 INFO L272 TraceCheckUtils]: 22: Hoare triple {10638#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= 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)); {10276#true} is VALID [2022-04-07 13:39:31,775 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10276#true} {10638#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #82#return; {10638#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:39:31,775 INFO L290 TraceCheckUtils]: 20: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:31,775 INFO L290 TraceCheckUtils]: 19: Hoare triple {10276#true} assume !(0 == ~cond); {10276#true} is VALID [2022-04-07 13:39:31,775 INFO L290 TraceCheckUtils]: 18: Hoare triple {10276#true} ~cond := #in~cond; {10276#true} is VALID [2022-04-07 13:39:31,775 INFO L272 TraceCheckUtils]: 17: Hoare triple {10638#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= 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)); {10276#true} is VALID [2022-04-07 13:39:31,776 INFO L290 TraceCheckUtils]: 16: Hoare triple {10276#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; {10638#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 13:39:31,776 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10276#true} {10276#true} #80#return; {10276#true} is VALID [2022-04-07 13:39:31,776 INFO L290 TraceCheckUtils]: 14: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:31,776 INFO L290 TraceCheckUtils]: 13: Hoare triple {10276#true} assume !(0 == ~cond); {10276#true} is VALID [2022-04-07 13:39:31,776 INFO L290 TraceCheckUtils]: 12: Hoare triple {10276#true} ~cond := #in~cond; {10276#true} is VALID [2022-04-07 13:39:31,776 INFO L272 TraceCheckUtils]: 11: Hoare triple {10276#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10276#true} is VALID [2022-04-07 13:39:31,776 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10276#true} {10276#true} #78#return; {10276#true} is VALID [2022-04-07 13:39:31,776 INFO L290 TraceCheckUtils]: 9: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:31,776 INFO L290 TraceCheckUtils]: 8: Hoare triple {10276#true} assume !(0 == ~cond); {10276#true} is VALID [2022-04-07 13:39:31,776 INFO L290 TraceCheckUtils]: 7: Hoare triple {10276#true} ~cond := #in~cond; {10276#true} is VALID [2022-04-07 13:39:31,776 INFO L272 TraceCheckUtils]: 6: Hoare triple {10276#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10276#true} is VALID [2022-04-07 13:39:31,776 INFO L290 TraceCheckUtils]: 5: Hoare triple {10276#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10276#true} is VALID [2022-04-07 13:39:31,776 INFO L272 TraceCheckUtils]: 4: Hoare triple {10276#true} call #t~ret8 := main(); {10276#true} is VALID [2022-04-07 13:39:31,776 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10276#true} {10276#true} #98#return; {10276#true} is VALID [2022-04-07 13:39:31,776 INFO L290 TraceCheckUtils]: 2: Hoare triple {10276#true} assume true; {10276#true} is VALID [2022-04-07 13:39:31,776 INFO L290 TraceCheckUtils]: 1: Hoare triple {10276#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);~counter~0 := 0; {10276#true} is VALID [2022-04-07 13:39:31,777 INFO L272 TraceCheckUtils]: 0: Hoare triple {10276#true} call ULTIMATE.init(); {10276#true} is VALID [2022-04-07 13:39:31,777 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 17 proven. 18 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-07 13:39:31,777 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:39:31,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1689482667] [2022-04-07 13:39:31,777 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:39:31,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [190433816] [2022-04-07 13:39:31,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [190433816] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:39:31,777 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:39:31,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-04-07 13:39:31,777 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2055389582] [2022-04-07 13:39:31,777 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:39:31,778 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.8666666666666667) internal successors, (43), 14 states have internal predecessors, (43), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 9 states have call predecessors, (19), 9 states have call successors, (19) Word has length 73 [2022-04-07 13:39:31,778 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:39:31,778 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.8666666666666667) internal successors, (43), 14 states have internal predecessors, (43), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 9 states have call predecessors, (19), 9 states have call successors, (19) [2022-04-07 13:39:32,052 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-07 13:39:32,053 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-07 13:39:32,053 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:39:32,053 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-07 13:39:32,053 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=169, Unknown=0, NotChecked=0, Total=210 [2022-04-07 13:39:32,053 INFO L87 Difference]: Start difference. First operand 295 states and 370 transitions. Second operand has 15 states, 15 states have (on average 2.8666666666666667) internal successors, (43), 14 states have internal predecessors, (43), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 9 states have call predecessors, (19), 9 states have call successors, (19) [2022-04-07 13:39:36,800 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-07 13:39:37,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:39:37,042 INFO L93 Difference]: Finished difference Result 319 states and 399 transitions. [2022-04-07 13:39:37,042 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-07 13:39:37,042 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.8666666666666667) internal successors, (43), 14 states have internal predecessors, (43), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 9 states have call predecessors, (19), 9 states have call successors, (19) Word has length 73 [2022-04-07 13:39:37,042 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:39:37,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.8666666666666667) internal successors, (43), 14 states have internal predecessors, (43), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 9 states have call predecessors, (19), 9 states have call successors, (19) [2022-04-07 13:39:37,044 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 97 transitions. [2022-04-07 13:39:37,044 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.8666666666666667) internal successors, (43), 14 states have internal predecessors, (43), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 9 states have call predecessors, (19), 9 states have call successors, (19) [2022-04-07 13:39:37,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 97 transitions. [2022-04-07 13:39:37,045 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 97 transitions. [2022-04-07 13:39:38,565 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-07 13:39:38,570 INFO L225 Difference]: With dead ends: 319 [2022-04-07 13:39:38,570 INFO L226 Difference]: Without dead ends: 316 [2022-04-07 13:39:38,571 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 154 GetRequests, 131 SyntacticMatches, 2 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=103, Invalid=403, Unknown=0, NotChecked=0, Total=506 [2022-04-07 13:39:38,571 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 52 mSDsluCounter, 278 mSDsCounter, 0 mSdLazyCounter, 376 mSolverCounterSat, 77 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 320 SdHoareTripleChecker+Invalid, 454 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 77 IncrementalHoareTripleChecker+Valid, 376 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.5s IncrementalHoareTripleChecker+Time [2022-04-07 13:39:38,571 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [52 Valid, 320 Invalid, 454 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [77 Valid, 376 Invalid, 1 Unknown, 0 Unchecked, 3.5s Time] [2022-04-07 13:39:38,572 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 316 states. [2022-04-07 13:39:38,787 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 316 to 305. [2022-04-07 13:39:38,787 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:39:38,788 INFO L82 GeneralOperation]: Start isEquivalent. First operand 316 states. Second operand has 305 states, 204 states have (on average 1.1862745098039216) internal successors, (242), 212 states have internal predecessors, (242), 69 states have call successors, (69), 32 states have call predecessors, (69), 31 states have return successors, (65), 60 states have call predecessors, (65), 65 states have call successors, (65) [2022-04-07 13:39:38,788 INFO L74 IsIncluded]: Start isIncluded. First operand 316 states. Second operand has 305 states, 204 states have (on average 1.1862745098039216) internal successors, (242), 212 states have internal predecessors, (242), 69 states have call successors, (69), 32 states have call predecessors, (69), 31 states have return successors, (65), 60 states have call predecessors, (65), 65 states have call successors, (65) [2022-04-07 13:39:38,789 INFO L87 Difference]: Start difference. First operand 316 states. Second operand has 305 states, 204 states have (on average 1.1862745098039216) internal successors, (242), 212 states have internal predecessors, (242), 69 states have call successors, (69), 32 states have call predecessors, (69), 31 states have return successors, (65), 60 states have call predecessors, (65), 65 states have call successors, (65) [2022-04-07 13:39:38,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:39:38,794 INFO L93 Difference]: Finished difference Result 316 states and 393 transitions. [2022-04-07 13:39:38,795 INFO L276 IsEmpty]: Start isEmpty. Operand 316 states and 393 transitions. [2022-04-07 13:39:38,795 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:39:38,795 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:39:38,796 INFO L74 IsIncluded]: Start isIncluded. First operand has 305 states, 204 states have (on average 1.1862745098039216) internal successors, (242), 212 states have internal predecessors, (242), 69 states have call successors, (69), 32 states have call predecessors, (69), 31 states have return successors, (65), 60 states have call predecessors, (65), 65 states have call successors, (65) Second operand 316 states. [2022-04-07 13:39:38,796 INFO L87 Difference]: Start difference. First operand has 305 states, 204 states have (on average 1.1862745098039216) internal successors, (242), 212 states have internal predecessors, (242), 69 states have call successors, (69), 32 states have call predecessors, (69), 31 states have return successors, (65), 60 states have call predecessors, (65), 65 states have call successors, (65) Second operand 316 states. [2022-04-07 13:39:38,802 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:39:38,802 INFO L93 Difference]: Finished difference Result 316 states and 393 transitions. [2022-04-07 13:39:38,802 INFO L276 IsEmpty]: Start isEmpty. Operand 316 states and 393 transitions. [2022-04-07 13:39:38,802 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:39:38,802 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:39:38,803 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:39:38,803 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:39:38,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 305 states, 204 states have (on average 1.1862745098039216) internal successors, (242), 212 states have internal predecessors, (242), 69 states have call successors, (69), 32 states have call predecessors, (69), 31 states have return successors, (65), 60 states have call predecessors, (65), 65 states have call successors, (65) [2022-04-07 13:39:38,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 305 states to 305 states and 376 transitions. [2022-04-07 13:39:38,809 INFO L78 Accepts]: Start accepts. Automaton has 305 states and 376 transitions. Word has length 73 [2022-04-07 13:39:38,809 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:39:38,809 INFO L478 AbstractCegarLoop]: Abstraction has 305 states and 376 transitions. [2022-04-07 13:39:38,809 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.8666666666666667) internal successors, (43), 14 states have internal predecessors, (43), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 9 states have call predecessors, (19), 9 states have call successors, (19) [2022-04-07 13:39:38,809 INFO L276 IsEmpty]: Start isEmpty. Operand 305 states and 376 transitions. [2022-04-07 13:39:38,810 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-04-07 13:39:38,810 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:39:38,810 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 2, 2, 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] [2022-04-07 13:39:38,826 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-07 13:39:39,023 WARN L460 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-07 13:39:39,024 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:39:39,024 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:39:39,024 INFO L85 PathProgramCache]: Analyzing trace with hash 1625446301, now seen corresponding path program 3 times [2022-04-07 13:39:39,024 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:39:39,024 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1045462494] [2022-04-07 13:39:39,024 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:39:39,025 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:39:39,034 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:39:39,034 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1055689699] [2022-04-07 13:39:39,034 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-07 13:39:39,034 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:39:39,034 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:39:39,035 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-07 13:39:39,036 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-07 13:39:39,083 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-04-07 13:39:39,084 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 13:39:39,085 INFO L263 TraceCheckSpWp]: Trace formula consists of 192 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-07 13:39:39,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:39:39,094 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:39:39,659 INFO L272 TraceCheckUtils]: 0: Hoare triple {12282#true} call ULTIMATE.init(); {12282#true} is VALID [2022-04-07 13:39:39,659 INFO L290 TraceCheckUtils]: 1: Hoare triple {12282#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);~counter~0 := 0; {12282#true} is VALID [2022-04-07 13:39:39,659 INFO L290 TraceCheckUtils]: 2: Hoare triple {12282#true} assume true; {12282#true} is VALID [2022-04-07 13:39:39,659 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12282#true} {12282#true} #98#return; {12282#true} is VALID [2022-04-07 13:39:39,659 INFO L272 TraceCheckUtils]: 4: Hoare triple {12282#true} call #t~ret8 := main(); {12282#true} is VALID [2022-04-07 13:39:39,659 INFO L290 TraceCheckUtils]: 5: Hoare triple {12282#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12282#true} is VALID [2022-04-07 13:39:39,660 INFO L272 TraceCheckUtils]: 6: Hoare triple {12282#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {12282#true} is VALID [2022-04-07 13:39:39,660 INFO L290 TraceCheckUtils]: 7: Hoare triple {12282#true} ~cond := #in~cond; {12282#true} is VALID [2022-04-07 13:39:39,660 INFO L290 TraceCheckUtils]: 8: Hoare triple {12282#true} assume !(0 == ~cond); {12282#true} is VALID [2022-04-07 13:39:39,660 INFO L290 TraceCheckUtils]: 9: Hoare triple {12282#true} assume true; {12282#true} is VALID [2022-04-07 13:39:39,660 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12282#true} {12282#true} #78#return; {12282#true} is VALID [2022-04-07 13:39:39,660 INFO L272 TraceCheckUtils]: 11: Hoare triple {12282#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12282#true} is VALID [2022-04-07 13:39:39,660 INFO L290 TraceCheckUtils]: 12: Hoare triple {12282#true} ~cond := #in~cond; {12282#true} is VALID [2022-04-07 13:39:39,660 INFO L290 TraceCheckUtils]: 13: Hoare triple {12282#true} assume !(0 == ~cond); {12282#true} is VALID [2022-04-07 13:39:39,660 INFO L290 TraceCheckUtils]: 14: Hoare triple {12282#true} assume true; {12282#true} is VALID [2022-04-07 13:39:39,660 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {12282#true} {12282#true} #80#return; {12282#true} is VALID [2022-04-07 13:39:39,660 INFO L290 TraceCheckUtils]: 16: Hoare triple {12282#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; {12335#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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-07 13:39:39,661 INFO L272 TraceCheckUtils]: 17: Hoare triple {12335#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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)); {12282#true} is VALID [2022-04-07 13:39:39,661 INFO L290 TraceCheckUtils]: 18: Hoare triple {12282#true} ~cond := #in~cond; {12282#true} is VALID [2022-04-07 13:39:39,661 INFO L290 TraceCheckUtils]: 19: Hoare triple {12282#true} assume !(0 == ~cond); {12282#true} is VALID [2022-04-07 13:39:39,661 INFO L290 TraceCheckUtils]: 20: Hoare triple {12282#true} assume true; {12282#true} is VALID [2022-04-07 13:39:39,661 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {12282#true} {12335#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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))} #82#return; {12335#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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-07 13:39:39,661 INFO L272 TraceCheckUtils]: 22: Hoare triple {12335#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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)); {12282#true} is VALID [2022-04-07 13:39:39,661 INFO L290 TraceCheckUtils]: 23: Hoare triple {12282#true} ~cond := #in~cond; {12282#true} is VALID [2022-04-07 13:39:39,661 INFO L290 TraceCheckUtils]: 24: Hoare triple {12282#true} assume !(0 == ~cond); {12282#true} is VALID [2022-04-07 13:39:39,661 INFO L290 TraceCheckUtils]: 25: Hoare triple {12282#true} assume true; {12282#true} is VALID [2022-04-07 13:39:39,662 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {12282#true} {12335#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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))} #84#return; {12335#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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-07 13:39:39,663 INFO L290 TraceCheckUtils]: 27: Hoare triple {12335#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12335#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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-07 13:39:39,663 INFO L290 TraceCheckUtils]: 28: Hoare triple {12335#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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 !!(#t~post6 < 100);havoc #t~post6; {12335#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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-07 13:39:39,663 INFO L290 TraceCheckUtils]: 29: Hoare triple {12335#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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; {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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-07 13:39:39,664 INFO L290 TraceCheckUtils]: 30: Hoare triple {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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-07 13:39:39,664 INFO L290 TraceCheckUtils]: 31: Hoare triple {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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 !!(#t~post7 < 100);havoc #t~post7; {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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-07 13:39:39,664 INFO L272 TraceCheckUtils]: 32: Hoare triple {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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)); {12282#true} is VALID [2022-04-07 13:39:39,664 INFO L290 TraceCheckUtils]: 33: Hoare triple {12282#true} ~cond := #in~cond; {12282#true} is VALID [2022-04-07 13:39:39,664 INFO L290 TraceCheckUtils]: 34: Hoare triple {12282#true} assume !(0 == ~cond); {12282#true} is VALID [2022-04-07 13:39:39,664 INFO L290 TraceCheckUtils]: 35: Hoare triple {12282#true} assume true; {12282#true} is VALID [2022-04-07 13:39:39,665 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {12282#true} {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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))} #86#return; {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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-07 13:39:39,665 INFO L272 TraceCheckUtils]: 37: Hoare triple {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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)); {12282#true} is VALID [2022-04-07 13:39:39,665 INFO L290 TraceCheckUtils]: 38: Hoare triple {12282#true} ~cond := #in~cond; {12282#true} is VALID [2022-04-07 13:39:39,665 INFO L290 TraceCheckUtils]: 39: Hoare triple {12282#true} assume !(0 == ~cond); {12282#true} is VALID [2022-04-07 13:39:39,665 INFO L290 TraceCheckUtils]: 40: Hoare triple {12282#true} assume true; {12282#true} is VALID [2022-04-07 13:39:39,666 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12282#true} {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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))} #88#return; {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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-07 13:39:39,666 INFO L272 TraceCheckUtils]: 42: Hoare triple {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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)); {12282#true} is VALID [2022-04-07 13:39:39,666 INFO L290 TraceCheckUtils]: 43: Hoare triple {12282#true} ~cond := #in~cond; {12282#true} is VALID [2022-04-07 13:39:39,666 INFO L290 TraceCheckUtils]: 44: Hoare triple {12282#true} assume !(0 == ~cond); {12282#true} is VALID [2022-04-07 13:39:39,666 INFO L290 TraceCheckUtils]: 45: Hoare triple {12282#true} assume true; {12282#true} is VALID [2022-04-07 13:39:39,667 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {12282#true} {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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))} #90#return; {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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-07 13:39:39,667 INFO L272 TraceCheckUtils]: 47: Hoare triple {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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)); {12282#true} is VALID [2022-04-07 13:39:39,667 INFO L290 TraceCheckUtils]: 48: Hoare triple {12282#true} ~cond := #in~cond; {12282#true} is VALID [2022-04-07 13:39:39,667 INFO L290 TraceCheckUtils]: 49: Hoare triple {12282#true} assume !(0 == ~cond); {12282#true} is VALID [2022-04-07 13:39:39,667 INFO L290 TraceCheckUtils]: 50: Hoare triple {12282#true} assume true; {12282#true} is VALID [2022-04-07 13:39:39,668 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {12282#true} {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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))} #92#return; {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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-07 13:39:39,669 INFO L290 TraceCheckUtils]: 52: Hoare triple {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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); {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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-07 13:39:39,669 INFO L290 TraceCheckUtils]: 53: Hoare triple {12375#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~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; {12448#(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-07 13:39:39,669 INFO L290 TraceCheckUtils]: 54: Hoare triple {12448#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12448#(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-07 13:39:39,670 INFO L290 TraceCheckUtils]: 55: Hoare triple {12448#(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 !!(#t~post6 < 100);havoc #t~post6; {12448#(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-07 13:39:39,670 INFO L290 TraceCheckUtils]: 56: Hoare triple {12448#(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; {12448#(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-07 13:39:39,671 INFO L290 TraceCheckUtils]: 57: Hoare triple {12448#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {12448#(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-07 13:39:39,671 INFO L290 TraceCheckUtils]: 58: Hoare triple {12448#(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 !!(#t~post7 < 100);havoc #t~post7; {12448#(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-07 13:39:39,671 INFO L272 TraceCheckUtils]: 59: Hoare triple {12448#(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)); {12282#true} is VALID [2022-04-07 13:39:39,671 INFO L290 TraceCheckUtils]: 60: Hoare triple {12282#true} ~cond := #in~cond; {12282#true} is VALID [2022-04-07 13:39:39,671 INFO L290 TraceCheckUtils]: 61: Hoare triple {12282#true} assume !(0 == ~cond); {12282#true} is VALID [2022-04-07 13:39:39,671 INFO L290 TraceCheckUtils]: 62: Hoare triple {12282#true} assume true; {12282#true} is VALID [2022-04-07 13:39:39,672 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {12282#true} {12448#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {12448#(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-07 13:39:39,672 INFO L272 TraceCheckUtils]: 64: Hoare triple {12448#(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)); {12282#true} is VALID [2022-04-07 13:39:39,672 INFO L290 TraceCheckUtils]: 65: Hoare triple {12282#true} ~cond := #in~cond; {12282#true} is VALID [2022-04-07 13:39:39,672 INFO L290 TraceCheckUtils]: 66: Hoare triple {12282#true} assume !(0 == ~cond); {12282#true} is VALID [2022-04-07 13:39:39,672 INFO L290 TraceCheckUtils]: 67: Hoare triple {12282#true} assume true; {12282#true} is VALID [2022-04-07 13:39:39,673 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {12282#true} {12448#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {12448#(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-07 13:39:39,673 INFO L272 TraceCheckUtils]: 69: Hoare triple {12448#(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)); {12282#true} is VALID [2022-04-07 13:39:39,673 INFO L290 TraceCheckUtils]: 70: Hoare triple {12282#true} ~cond := #in~cond; {12500#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:39:39,674 INFO L290 TraceCheckUtils]: 71: Hoare triple {12500#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12504#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:39:39,674 INFO L290 TraceCheckUtils]: 72: Hoare triple {12504#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12504#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:39:39,674 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {12504#(not (= |__VERIFIER_assert_#in~cond| 0))} {12448#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {12448#(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-07 13:39:39,675 INFO L272 TraceCheckUtils]: 74: Hoare triple {12448#(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)); {12514#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:39:39,676 INFO L290 TraceCheckUtils]: 75: Hoare triple {12514#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12518#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:39:39,676 INFO L290 TraceCheckUtils]: 76: Hoare triple {12518#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12283#false} is VALID [2022-04-07 13:39:39,676 INFO L290 TraceCheckUtils]: 77: Hoare triple {12283#false} assume !false; {12283#false} is VALID [2022-04-07 13:39:39,676 INFO L134 CoverageAnalysis]: Checked inductivity of 131 backedges. 31 proven. 10 refuted. 0 times theorem prover too weak. 90 trivial. 0 not checked. [2022-04-07 13:39:39,676 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:40:27,235 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:40:27,236 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1045462494] [2022-04-07 13:40:27,236 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:40:27,236 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1055689699] [2022-04-07 13:40:27,236 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1055689699] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 13:40:27,236 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-07 13:40:27,236 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-07 13:40:27,236 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1198272975] [2022-04-07 13:40:27,236 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-07 13:40:27,236 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 78 [2022-04-07 13:40:27,236 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:40:27,237 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-07 13:40:27,281 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:40:27,281 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-07 13:40:27,281 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:40:27,281 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-07 13:40:27,281 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-07 13:40:27,282 INFO L87 Difference]: Start difference. First operand 305 states and 376 transitions. Second operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-07 13:40:28,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:40:28,221 INFO L93 Difference]: Finished difference Result 337 states and 411 transitions. [2022-04-07 13:40:28,221 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-07 13:40:28,221 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 78 [2022-04-07 13:40:28,221 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:40:28,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-07 13:40:28,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 95 transitions. [2022-04-07 13:40:28,223 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-07 13:40:28,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 95 transitions. [2022-04-07 13:40:28,223 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 95 transitions. [2022-04-07 13:40:28,315 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:40:28,321 INFO L225 Difference]: With dead ends: 337 [2022-04-07 13:40:28,321 INFO L226 Difference]: Without dead ends: 333 [2022-04-07 13:40:28,321 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 72 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-07 13:40:28,322 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 24 mSDsluCounter, 160 mSDsCounter, 0 mSdLazyCounter, 237 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 202 SdHoareTripleChecker+Invalid, 255 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 237 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-07 13:40:28,322 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 202 Invalid, 255 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 237 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-07 13:40:28,323 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 333 states. [2022-04-07 13:40:28,519 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 333 to 330. [2022-04-07 13:40:28,520 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:40:28,520 INFO L82 GeneralOperation]: Start isEquivalent. First operand 333 states. Second operand has 330 states, 221 states have (on average 1.1764705882352942) internal successors, (260), 228 states have internal predecessors, (260), 73 states have call successors, (73), 37 states have call predecessors, (73), 35 states have return successors, (69), 64 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-07 13:40:28,521 INFO L74 IsIncluded]: Start isIncluded. First operand 333 states. Second operand has 330 states, 221 states have (on average 1.1764705882352942) internal successors, (260), 228 states have internal predecessors, (260), 73 states have call successors, (73), 37 states have call predecessors, (73), 35 states have return successors, (69), 64 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-07 13:40:28,521 INFO L87 Difference]: Start difference. First operand 333 states. Second operand has 330 states, 221 states have (on average 1.1764705882352942) internal successors, (260), 228 states have internal predecessors, (260), 73 states have call successors, (73), 37 states have call predecessors, (73), 35 states have return successors, (69), 64 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-07 13:40:28,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:40:28,527 INFO L93 Difference]: Finished difference Result 333 states and 405 transitions. [2022-04-07 13:40:28,527 INFO L276 IsEmpty]: Start isEmpty. Operand 333 states and 405 transitions. [2022-04-07 13:40:28,528 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:40:28,528 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:40:28,529 INFO L74 IsIncluded]: Start isIncluded. First operand has 330 states, 221 states have (on average 1.1764705882352942) internal successors, (260), 228 states have internal predecessors, (260), 73 states have call successors, (73), 37 states have call predecessors, (73), 35 states have return successors, (69), 64 states have call predecessors, (69), 69 states have call successors, (69) Second operand 333 states. [2022-04-07 13:40:28,529 INFO L87 Difference]: Start difference. First operand has 330 states, 221 states have (on average 1.1764705882352942) internal successors, (260), 228 states have internal predecessors, (260), 73 states have call successors, (73), 37 states have call predecessors, (73), 35 states have return successors, (69), 64 states have call predecessors, (69), 69 states have call successors, (69) Second operand 333 states. [2022-04-07 13:40:28,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:40:28,535 INFO L93 Difference]: Finished difference Result 333 states and 405 transitions. [2022-04-07 13:40:28,535 INFO L276 IsEmpty]: Start isEmpty. Operand 333 states and 405 transitions. [2022-04-07 13:40:28,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:40:28,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:40:28,536 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:40:28,536 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:40:28,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 330 states, 221 states have (on average 1.1764705882352942) internal successors, (260), 228 states have internal predecessors, (260), 73 states have call successors, (73), 37 states have call predecessors, (73), 35 states have return successors, (69), 64 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-07 13:40:28,543 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 330 states to 330 states and 402 transitions. [2022-04-07 13:40:28,543 INFO L78 Accepts]: Start accepts. Automaton has 330 states and 402 transitions. Word has length 78 [2022-04-07 13:40:28,543 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:40:28,543 INFO L478 AbstractCegarLoop]: Abstraction has 330 states and 402 transitions. [2022-04-07 13:40:28,543 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-07 13:40:28,543 INFO L276 IsEmpty]: Start isEmpty. Operand 330 states and 402 transitions. [2022-04-07 13:40:28,545 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-07 13:40:28,545 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:40:28,545 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 2, 2, 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] [2022-04-07 13:40:28,562 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Ended with exit code 0 [2022-04-07 13:40:28,759 WARN L460 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-07 13:40:28,759 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:40:28,760 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:40:28,760 INFO L85 PathProgramCache]: Analyzing trace with hash -1017110725, now seen corresponding path program 1 times [2022-04-07 13:40:28,760 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:40:28,760 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1328201437] [2022-04-07 13:40:28,760 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:40:28,760 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:40:28,774 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:40:28,774 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2147299335] [2022-04-07 13:40:28,774 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:40:28,774 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:40:28,775 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:40:28,783 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-07 13:40:28,808 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-07 13:40:28,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:40:28,837 INFO L263 TraceCheckSpWp]: Trace formula consists of 239 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-07 13:40:28,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:40:28,851 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:40:29,468 INFO L272 TraceCheckUtils]: 0: Hoare triple {14174#true} call ULTIMATE.init(); {14174#true} is VALID [2022-04-07 13:40:29,469 INFO L290 TraceCheckUtils]: 1: Hoare triple {14174#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);~counter~0 := 0; {14174#true} is VALID [2022-04-07 13:40:29,469 INFO L290 TraceCheckUtils]: 2: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:40:29,469 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14174#true} {14174#true} #98#return; {14174#true} is VALID [2022-04-07 13:40:29,469 INFO L272 TraceCheckUtils]: 4: Hoare triple {14174#true} call #t~ret8 := main(); {14174#true} is VALID [2022-04-07 13:40:29,469 INFO L290 TraceCheckUtils]: 5: Hoare triple {14174#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14174#true} is VALID [2022-04-07 13:40:29,469 INFO L272 TraceCheckUtils]: 6: Hoare triple {14174#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14174#true} is VALID [2022-04-07 13:40:29,469 INFO L290 TraceCheckUtils]: 7: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:40:29,469 INFO L290 TraceCheckUtils]: 8: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:40:29,469 INFO L290 TraceCheckUtils]: 9: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:40:29,469 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14174#true} {14174#true} #78#return; {14174#true} is VALID [2022-04-07 13:40:29,469 INFO L272 TraceCheckUtils]: 11: Hoare triple {14174#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14174#true} is VALID [2022-04-07 13:40:29,469 INFO L290 TraceCheckUtils]: 12: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:40:29,469 INFO L290 TraceCheckUtils]: 13: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:40:29,469 INFO L290 TraceCheckUtils]: 14: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:40:29,469 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14174#true} {14174#true} #80#return; {14174#true} is VALID [2022-04-07 13:40:29,470 INFO L290 TraceCheckUtils]: 16: Hoare triple {14174#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; {14227#(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-07 13:40:29,470 INFO L272 TraceCheckUtils]: 17: Hoare triple {14227#(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)); {14174#true} is VALID [2022-04-07 13:40:29,470 INFO L290 TraceCheckUtils]: 18: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:40:29,470 INFO L290 TraceCheckUtils]: 19: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:40:29,470 INFO L290 TraceCheckUtils]: 20: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:40:29,471 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14174#true} {14227#(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))} #82#return; {14227#(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-07 13:40:29,471 INFO L272 TraceCheckUtils]: 22: Hoare triple {14227#(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)); {14174#true} is VALID [2022-04-07 13:40:29,471 INFO L290 TraceCheckUtils]: 23: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:40:29,471 INFO L290 TraceCheckUtils]: 24: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:40:29,471 INFO L290 TraceCheckUtils]: 25: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:40:29,471 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14174#true} {14227#(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))} #84#return; {14227#(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-07 13:40:29,472 INFO L290 TraceCheckUtils]: 27: Hoare triple {14227#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14227#(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-07 13:40:29,472 INFO L290 TraceCheckUtils]: 28: Hoare triple {14227#(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 !!(#t~post6 < 100);havoc #t~post6; {14227#(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-07 13:40:29,472 INFO L290 TraceCheckUtils]: 29: Hoare triple {14227#(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; {14267#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-07 13:40:29,473 INFO L290 TraceCheckUtils]: 30: Hoare triple {14267#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14267#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-07 13:40:29,473 INFO L290 TraceCheckUtils]: 31: Hoare triple {14267#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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 !!(#t~post7 < 100);havoc #t~post7; {14267#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-07 13:40:29,473 INFO L272 TraceCheckUtils]: 32: Hoare triple {14267#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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 __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14174#true} is VALID [2022-04-07 13:40:29,473 INFO L290 TraceCheckUtils]: 33: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:40:29,473 INFO L290 TraceCheckUtils]: 34: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:40:29,473 INFO L290 TraceCheckUtils]: 35: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:40:29,474 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14174#true} {14267#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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))} #86#return; {14267#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-07 13:40:29,474 INFO L272 TraceCheckUtils]: 37: Hoare triple {14267#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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 __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14174#true} is VALID [2022-04-07 13:40:29,474 INFO L290 TraceCheckUtils]: 38: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:40:29,474 INFO L290 TraceCheckUtils]: 39: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:40:29,474 INFO L290 TraceCheckUtils]: 40: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:40:29,475 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14174#true} {14267#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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))} #88#return; {14267#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-07 13:40:29,475 INFO L272 TraceCheckUtils]: 42: Hoare triple {14267#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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 __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14174#true} is VALID [2022-04-07 13:40:29,475 INFO L290 TraceCheckUtils]: 43: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:40:29,475 INFO L290 TraceCheckUtils]: 44: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:40:29,475 INFO L290 TraceCheckUtils]: 45: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:40:29,476 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {14174#true} {14267#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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))} #90#return; {14267#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-07 13:40:29,476 INFO L272 TraceCheckUtils]: 47: Hoare triple {14267#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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 __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)); {14174#true} is VALID [2022-04-07 13:40:29,476 INFO L290 TraceCheckUtils]: 48: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:40:29,476 INFO L290 TraceCheckUtils]: 49: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:40:29,476 INFO L290 TraceCheckUtils]: 50: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:40:29,477 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14174#true} {14267#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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))} #92#return; {14267#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-07 13:40:29,477 INFO L290 TraceCheckUtils]: 52: Hoare triple {14267#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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 !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14337#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~a~0)) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:40:29,478 INFO L290 TraceCheckUtils]: 53: Hoare triple {14337#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~a~0)) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14337#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~a~0)) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:40:29,478 INFO L290 TraceCheckUtils]: 54: Hoare triple {14337#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~a~0)) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {14337#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~a~0)) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:40:29,478 INFO L272 TraceCheckUtils]: 55: Hoare triple {14337#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~a~0)) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 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)); {14174#true} is VALID [2022-04-07 13:40:29,478 INFO L290 TraceCheckUtils]: 56: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:40:29,478 INFO L290 TraceCheckUtils]: 57: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:40:29,478 INFO L290 TraceCheckUtils]: 58: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:40:29,479 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14174#true} {14337#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~a~0)) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {14337#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~a~0)) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:40:29,479 INFO L272 TraceCheckUtils]: 60: Hoare triple {14337#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~a~0)) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 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)); {14174#true} is VALID [2022-04-07 13:40:29,479 INFO L290 TraceCheckUtils]: 61: Hoare triple {14174#true} ~cond := #in~cond; {14365#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:40:29,480 INFO L290 TraceCheckUtils]: 62: Hoare triple {14365#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14369#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:40:29,480 INFO L290 TraceCheckUtils]: 63: Hoare triple {14369#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14369#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:40:29,481 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14369#(not (= |__VERIFIER_assert_#in~cond| 0))} {14337#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~a~0)) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #88#return; {14376#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= (+ main_~c~0 main_~y~0) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 13:40:29,481 INFO L272 TraceCheckUtils]: 65: Hoare triple {14376#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= (+ main_~c~0 main_~y~0) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~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)); {14174#true} is VALID [2022-04-07 13:40:29,481 INFO L290 TraceCheckUtils]: 66: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:40:29,481 INFO L290 TraceCheckUtils]: 67: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:40:29,481 INFO L290 TraceCheckUtils]: 68: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:40:29,482 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14174#true} {14376#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= (+ main_~c~0 main_~y~0) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 0) (= main_~p~0 1))} #90#return; {14376#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= (+ main_~c~0 main_~y~0) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 13:40:29,482 INFO L272 TraceCheckUtils]: 70: Hoare triple {14376#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= (+ main_~c~0 main_~y~0) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~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)); {14174#true} is VALID [2022-04-07 13:40:29,482 INFO L290 TraceCheckUtils]: 71: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:40:29,482 INFO L290 TraceCheckUtils]: 72: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:40:29,482 INFO L290 TraceCheckUtils]: 73: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:40:29,482 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {14174#true} {14376#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= (+ main_~c~0 main_~y~0) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 0) (= main_~p~0 1))} #92#return; {14376#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= (+ main_~c~0 main_~y~0) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 13:40:29,483 INFO L290 TraceCheckUtils]: 75: Hoare triple {14376#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= (+ main_~c~0 main_~y~0) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {14376#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= (+ main_~c~0 main_~y~0) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 13:40:29,483 INFO L290 TraceCheckUtils]: 76: Hoare triple {14376#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (= (+ main_~c~0 main_~y~0) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~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; {14413#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:40:29,484 INFO L290 TraceCheckUtils]: 77: Hoare triple {14413#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14413#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:40:29,484 INFO L290 TraceCheckUtils]: 78: Hoare triple {14413#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {14413#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 13:40:29,484 INFO L290 TraceCheckUtils]: 79: Hoare triple {14413#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !(0 != ~b~0); {14423#(and (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-07 13:40:29,485 INFO L272 TraceCheckUtils]: 80: Hoare triple {14423#(and (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= (+ (* 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)); {14427#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:40:29,485 INFO L290 TraceCheckUtils]: 81: Hoare triple {14427#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14431#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:40:29,485 INFO L290 TraceCheckUtils]: 82: Hoare triple {14431#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14175#false} is VALID [2022-04-07 13:40:29,485 INFO L290 TraceCheckUtils]: 83: Hoare triple {14175#false} assume !false; {14175#false} is VALID [2022-04-07 13:40:29,486 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 30 proven. 17 refuted. 0 times theorem prover too weak. 115 trivial. 0 not checked. [2022-04-07 13:40:29,486 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:41:18,307 INFO L290 TraceCheckUtils]: 83: Hoare triple {14175#false} assume !false; {14175#false} is VALID [2022-04-07 13:41:18,308 INFO L290 TraceCheckUtils]: 82: Hoare triple {14431#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14175#false} is VALID [2022-04-07 13:41:18,308 INFO L290 TraceCheckUtils]: 81: Hoare triple {14427#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14431#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:41:18,308 INFO L272 TraceCheckUtils]: 80: Hoare triple {14447#(= (+ (* 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)); {14427#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:41:18,309 INFO L290 TraceCheckUtils]: 79: Hoare triple {14451#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {14447#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-07 13:41:18,309 INFO L290 TraceCheckUtils]: 78: Hoare triple {14451#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {14451#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-07 13:41:18,309 INFO L290 TraceCheckUtils]: 77: Hoare triple {14451#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14451#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-07 13:41:19,477 INFO L290 TraceCheckUtils]: 76: Hoare triple {14461#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) 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; {14451#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-07 13:41:19,478 INFO L290 TraceCheckUtils]: 75: Hoare triple {14461#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) 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); {14461#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-07 13:41:19,479 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {14174#true} {14461#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #92#return; {14461#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-07 13:41:19,479 INFO L290 TraceCheckUtils]: 73: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:41:19,479 INFO L290 TraceCheckUtils]: 72: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:41:19,479 INFO L290 TraceCheckUtils]: 71: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:41:19,479 INFO L272 TraceCheckUtils]: 70: Hoare triple {14461#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) 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)); {14174#true} is VALID [2022-04-07 13:41:19,480 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14174#true} {14461#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #90#return; {14461#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-07 13:41:19,480 INFO L290 TraceCheckUtils]: 68: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:41:19,480 INFO L290 TraceCheckUtils]: 67: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:41:19,480 INFO L290 TraceCheckUtils]: 66: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:41:19,480 INFO L272 TraceCheckUtils]: 65: Hoare triple {14461#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) 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)); {14174#true} is VALID [2022-04-07 13:41:19,481 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14369#(not (= |__VERIFIER_assert_#in~cond| 0))} {14498#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #88#return; {14461#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-07 13:41:19,481 INFO L290 TraceCheckUtils]: 63: Hoare triple {14369#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14369#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:41:19,481 INFO L290 TraceCheckUtils]: 62: Hoare triple {14508#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14369#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:41:19,482 INFO L290 TraceCheckUtils]: 61: Hoare triple {14174#true} ~cond := #in~cond; {14508#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 13:41:19,482 INFO L272 TraceCheckUtils]: 60: Hoare triple {14498#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) 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)); {14174#true} is VALID [2022-04-07 13:41:19,482 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14174#true} {14498#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #86#return; {14498#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-07 13:41:19,482 INFO L290 TraceCheckUtils]: 58: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:41:19,482 INFO L290 TraceCheckUtils]: 57: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:41:19,482 INFO L290 TraceCheckUtils]: 56: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:41:19,482 INFO L272 TraceCheckUtils]: 55: Hoare triple {14498#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) 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)); {14174#true} is VALID [2022-04-07 13:41:19,483 INFO L290 TraceCheckUtils]: 54: Hoare triple {14498#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !!(#t~post7 < 100);havoc #t~post7; {14498#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-07 13:41:19,483 INFO L290 TraceCheckUtils]: 53: Hoare triple {14498#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14498#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-07 13:41:19,574 INFO L290 TraceCheckUtils]: 52: Hoare triple {14536#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14498#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-07 13:41:19,575 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14174#true} {14536#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} #92#return; {14536#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-07 13:41:19,575 INFO L290 TraceCheckUtils]: 50: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:41:19,575 INFO L290 TraceCheckUtils]: 49: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:41:19,575 INFO L290 TraceCheckUtils]: 48: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:41:19,575 INFO L272 TraceCheckUtils]: 47: Hoare triple {14536#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~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)); {14174#true} is VALID [2022-04-07 13:41:19,588 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {14174#true} {14536#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} #90#return; {14536#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-07 13:41:19,588 INFO L290 TraceCheckUtils]: 45: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:41:19,588 INFO L290 TraceCheckUtils]: 44: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:41:19,588 INFO L290 TraceCheckUtils]: 43: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:41:19,588 INFO L272 TraceCheckUtils]: 42: Hoare triple {14536#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14174#true} is VALID [2022-04-07 13:41:19,589 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14174#true} {14536#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} #88#return; {14536#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-07 13:41:19,589 INFO L290 TraceCheckUtils]: 40: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:41:19,589 INFO L290 TraceCheckUtils]: 39: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:41:19,589 INFO L290 TraceCheckUtils]: 38: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:41:19,589 INFO L272 TraceCheckUtils]: 37: Hoare triple {14536#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14174#true} is VALID [2022-04-07 13:41:19,589 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14174#true} {14536#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} #86#return; {14536#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-07 13:41:19,589 INFO L290 TraceCheckUtils]: 35: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:41:19,590 INFO L290 TraceCheckUtils]: 34: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:41:19,590 INFO L290 TraceCheckUtils]: 33: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:41:19,590 INFO L272 TraceCheckUtils]: 32: Hoare triple {14536#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14174#true} is VALID [2022-04-07 13:41:19,590 INFO L290 TraceCheckUtils]: 31: Hoare triple {14536#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} assume !!(#t~post7 < 100);havoc #t~post7; {14536#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-07 13:41:19,591 INFO L290 TraceCheckUtils]: 30: Hoare triple {14536#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14536#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-07 13:41:19,592 INFO L290 TraceCheckUtils]: 29: Hoare triple {14606#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 main_~a~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14536#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ (* (- 1) (+ main_~k~0 1) main_~s~0) main_~r~0))) 0) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-07 13:41:19,592 INFO L290 TraceCheckUtils]: 28: Hoare triple {14606#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 main_~a~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {14606#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-07 13:41:19,593 INFO L290 TraceCheckUtils]: 27: Hoare triple {14606#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14606#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-07 13:41:19,593 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14174#true} {14606#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 main_~a~0)))} #84#return; {14606#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-07 13:41:19,593 INFO L290 TraceCheckUtils]: 25: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:41:19,593 INFO L290 TraceCheckUtils]: 24: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:41:19,593 INFO L290 TraceCheckUtils]: 23: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:41:19,593 INFO L272 TraceCheckUtils]: 22: Hoare triple {14606#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 main_~a~0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {14174#true} is VALID [2022-04-07 13:41:19,594 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14174#true} {14606#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 main_~a~0)))} #82#return; {14606#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-07 13:41:19,594 INFO L290 TraceCheckUtils]: 20: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:41:19,594 INFO L290 TraceCheckUtils]: 19: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:41:19,594 INFO L290 TraceCheckUtils]: 18: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:41:19,594 INFO L272 TraceCheckUtils]: 17: Hoare triple {14606#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 main_~a~0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {14174#true} is VALID [2022-04-07 13:41:19,595 INFO L290 TraceCheckUtils]: 16: Hoare triple {14174#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; {14606#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-07 13:41:19,595 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14174#true} {14174#true} #80#return; {14174#true} is VALID [2022-04-07 13:41:19,595 INFO L290 TraceCheckUtils]: 14: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:41:19,595 INFO L290 TraceCheckUtils]: 13: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:41:19,595 INFO L290 TraceCheckUtils]: 12: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:41:19,595 INFO L272 TraceCheckUtils]: 11: Hoare triple {14174#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14174#true} is VALID [2022-04-07 13:41:19,595 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14174#true} {14174#true} #78#return; {14174#true} is VALID [2022-04-07 13:41:19,595 INFO L290 TraceCheckUtils]: 9: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:41:19,595 INFO L290 TraceCheckUtils]: 8: Hoare triple {14174#true} assume !(0 == ~cond); {14174#true} is VALID [2022-04-07 13:41:19,595 INFO L290 TraceCheckUtils]: 7: Hoare triple {14174#true} ~cond := #in~cond; {14174#true} is VALID [2022-04-07 13:41:19,595 INFO L272 TraceCheckUtils]: 6: Hoare triple {14174#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14174#true} is VALID [2022-04-07 13:41:19,595 INFO L290 TraceCheckUtils]: 5: Hoare triple {14174#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14174#true} is VALID [2022-04-07 13:41:19,595 INFO L272 TraceCheckUtils]: 4: Hoare triple {14174#true} call #t~ret8 := main(); {14174#true} is VALID [2022-04-07 13:41:19,595 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14174#true} {14174#true} #98#return; {14174#true} is VALID [2022-04-07 13:41:19,595 INFO L290 TraceCheckUtils]: 2: Hoare triple {14174#true} assume true; {14174#true} is VALID [2022-04-07 13:41:19,595 INFO L290 TraceCheckUtils]: 1: Hoare triple {14174#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);~counter~0 := 0; {14174#true} is VALID [2022-04-07 13:41:19,595 INFO L272 TraceCheckUtils]: 0: Hoare triple {14174#true} call ULTIMATE.init(); {14174#true} is VALID [2022-04-07 13:41:19,596 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 30 proven. 17 refuted. 0 times theorem prover too weak. 115 trivial. 0 not checked. [2022-04-07 13:41:19,596 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:41:19,596 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1328201437] [2022-04-07 13:41:19,596 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:41:19,596 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2147299335] [2022-04-07 13:41:19,596 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2147299335] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:41:19,596 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:41:19,596 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-07 13:41:19,596 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [912636983] [2022-04-07 13:41:19,596 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:41:19,597 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 2.6470588235294117) internal successors, (45), 18 states have internal predecessors, (45), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) Word has length 84 [2022-04-07 13:41:19,597 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:41:19,597 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 17 states have (on average 2.6470588235294117) internal successors, (45), 18 states have internal predecessors, (45), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-04-07 13:41:20,211 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:41:20,212 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-07 13:41:20,212 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:41:20,212 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-07 13:41:20,212 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=284, Unknown=0, NotChecked=0, Total=342 [2022-04-07 13:41:20,212 INFO L87 Difference]: Start difference. First operand 330 states and 402 transitions. Second operand has 19 states, 17 states have (on average 2.6470588235294117) internal successors, (45), 18 states have internal predecessors, (45), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-04-07 13:41:27,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:41:27,405 INFO L93 Difference]: Finished difference Result 392 states and 488 transitions. [2022-04-07 13:41:27,405 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-07 13:41:27,405 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 17 states have (on average 2.6470588235294117) internal successors, (45), 18 states have internal predecessors, (45), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) Word has length 84 [2022-04-07 13:41:27,405 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:41:27,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 2.6470588235294117) internal successors, (45), 18 states have internal predecessors, (45), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-04-07 13:41:27,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 173 transitions. [2022-04-07 13:41:27,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 17 states have (on average 2.6470588235294117) internal successors, (45), 18 states have internal predecessors, (45), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-04-07 13:41:27,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 173 transitions. [2022-04-07 13:41:27,410 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 173 transitions. [2022-04-07 13:41:29,078 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 173 edges. 173 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:41:29,085 INFO L225 Difference]: With dead ends: 392 [2022-04-07 13:41:29,085 INFO L226 Difference]: Without dead ends: 377 [2022-04-07 13:41:29,085 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 149 SyntacticMatches, 1 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 232 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=248, Invalid=1084, Unknown=0, NotChecked=0, Total=1332 [2022-04-07 13:41:29,086 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 93 mSDsluCounter, 378 mSDsCounter, 0 mSdLazyCounter, 740 mSolverCounterSat, 141 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 93 SdHoareTripleChecker+Valid, 428 SdHoareTripleChecker+Invalid, 881 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 141 IncrementalHoareTripleChecker+Valid, 740 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.3s IncrementalHoareTripleChecker+Time [2022-04-07 13:41:29,086 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [93 Valid, 428 Invalid, 881 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [141 Valid, 740 Invalid, 0 Unknown, 0 Unchecked, 3.3s Time] [2022-04-07 13:41:29,086 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 377 states. [2022-04-07 13:41:29,321 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 377 to 368. [2022-04-07 13:41:29,321 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:41:29,326 INFO L82 GeneralOperation]: Start isEquivalent. First operand 377 states. Second operand has 368 states, 247 states have (on average 1.1902834008097165) internal successors, (294), 252 states have internal predecessors, (294), 84 states have call successors, (84), 37 states have call predecessors, (84), 36 states have return successors, (82), 78 states have call predecessors, (82), 82 states have call successors, (82) [2022-04-07 13:41:29,327 INFO L74 IsIncluded]: Start isIncluded. First operand 377 states. Second operand has 368 states, 247 states have (on average 1.1902834008097165) internal successors, (294), 252 states have internal predecessors, (294), 84 states have call successors, (84), 37 states have call predecessors, (84), 36 states have return successors, (82), 78 states have call predecessors, (82), 82 states have call successors, (82) [2022-04-07 13:41:29,327 INFO L87 Difference]: Start difference. First operand 377 states. Second operand has 368 states, 247 states have (on average 1.1902834008097165) internal successors, (294), 252 states have internal predecessors, (294), 84 states have call successors, (84), 37 states have call predecessors, (84), 36 states have return successors, (82), 78 states have call predecessors, (82), 82 states have call successors, (82) [2022-04-07 13:41:29,334 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:41:29,334 INFO L93 Difference]: Finished difference Result 377 states and 469 transitions. [2022-04-07 13:41:29,334 INFO L276 IsEmpty]: Start isEmpty. Operand 377 states and 469 transitions. [2022-04-07 13:41:29,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:41:29,335 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:41:29,336 INFO L74 IsIncluded]: Start isIncluded. First operand has 368 states, 247 states have (on average 1.1902834008097165) internal successors, (294), 252 states have internal predecessors, (294), 84 states have call successors, (84), 37 states have call predecessors, (84), 36 states have return successors, (82), 78 states have call predecessors, (82), 82 states have call successors, (82) Second operand 377 states. [2022-04-07 13:41:29,336 INFO L87 Difference]: Start difference. First operand has 368 states, 247 states have (on average 1.1902834008097165) internal successors, (294), 252 states have internal predecessors, (294), 84 states have call successors, (84), 37 states have call predecessors, (84), 36 states have return successors, (82), 78 states have call predecessors, (82), 82 states have call successors, (82) Second operand 377 states. [2022-04-07 13:41:29,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:41:29,343 INFO L93 Difference]: Finished difference Result 377 states and 469 transitions. [2022-04-07 13:41:29,348 INFO L276 IsEmpty]: Start isEmpty. Operand 377 states and 469 transitions. [2022-04-07 13:41:29,349 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:41:29,349 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:41:29,349 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:41:29,349 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:41:29,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 368 states, 247 states have (on average 1.1902834008097165) internal successors, (294), 252 states have internal predecessors, (294), 84 states have call successors, (84), 37 states have call predecessors, (84), 36 states have return successors, (82), 78 states have call predecessors, (82), 82 states have call successors, (82) [2022-04-07 13:41:29,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 368 states to 368 states and 460 transitions. [2022-04-07 13:41:29,357 INFO L78 Accepts]: Start accepts. Automaton has 368 states and 460 transitions. Word has length 84 [2022-04-07 13:41:29,357 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:41:29,357 INFO L478 AbstractCegarLoop]: Abstraction has 368 states and 460 transitions. [2022-04-07 13:41:29,358 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 17 states have (on average 2.6470588235294117) internal successors, (45), 18 states have internal predecessors, (45), 11 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-04-07 13:41:29,358 INFO L276 IsEmpty]: Start isEmpty. Operand 368 states and 460 transitions. [2022-04-07 13:41:29,359 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 102 [2022-04-07 13:41:29,359 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:41:29,359 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:41:29,375 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-07 13:41:29,575 WARN L460 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-07 13:41:29,575 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:41:29,576 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:41:29,576 INFO L85 PathProgramCache]: Analyzing trace with hash 1415088729, now seen corresponding path program 1 times [2022-04-07 13:41:29,576 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:41:29,576 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [117449473] [2022-04-07 13:41:29,576 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:41:29,576 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:41:29,593 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:41:29,593 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [472571356] [2022-04-07 13:41:29,593 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:41:29,593 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:41:29,593 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:41:29,598 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-07 13:41:29,599 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-07 13:41:29,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:41:29,662 INFO L263 TraceCheckSpWp]: Trace formula consists of 274 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-07 13:41:29,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:41:29,696 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:41:38,073 INFO L272 TraceCheckUtils]: 0: Hoare triple {16584#true} call ULTIMATE.init(); {16584#true} is VALID [2022-04-07 13:41:38,073 INFO L290 TraceCheckUtils]: 1: Hoare triple {16584#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);~counter~0 := 0; {16584#true} is VALID [2022-04-07 13:41:38,074 INFO L290 TraceCheckUtils]: 2: Hoare triple {16584#true} assume true; {16584#true} is VALID [2022-04-07 13:41:38,074 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16584#true} {16584#true} #98#return; {16584#true} is VALID [2022-04-07 13:41:38,074 INFO L272 TraceCheckUtils]: 4: Hoare triple {16584#true} call #t~ret8 := main(); {16584#true} is VALID [2022-04-07 13:41:38,074 INFO L290 TraceCheckUtils]: 5: Hoare triple {16584#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16584#true} is VALID [2022-04-07 13:41:38,074 INFO L272 TraceCheckUtils]: 6: Hoare triple {16584#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16584#true} is VALID [2022-04-07 13:41:38,074 INFO L290 TraceCheckUtils]: 7: Hoare triple {16584#true} ~cond := #in~cond; {16584#true} is VALID [2022-04-07 13:41:38,074 INFO L290 TraceCheckUtils]: 8: Hoare triple {16584#true} assume !(0 == ~cond); {16584#true} is VALID [2022-04-07 13:41:38,074 INFO L290 TraceCheckUtils]: 9: Hoare triple {16584#true} assume true; {16584#true} is VALID [2022-04-07 13:41:38,074 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16584#true} {16584#true} #78#return; {16584#true} is VALID [2022-04-07 13:41:38,074 INFO L272 TraceCheckUtils]: 11: Hoare triple {16584#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16584#true} is VALID [2022-04-07 13:41:38,074 INFO L290 TraceCheckUtils]: 12: Hoare triple {16584#true} ~cond := #in~cond; {16584#true} is VALID [2022-04-07 13:41:38,074 INFO L290 TraceCheckUtils]: 13: Hoare triple {16584#true} assume !(0 == ~cond); {16584#true} is VALID [2022-04-07 13:41:38,074 INFO L290 TraceCheckUtils]: 14: Hoare triple {16584#true} assume true; {16584#true} is VALID [2022-04-07 13:41:38,074 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16584#true} {16584#true} #80#return; {16584#true} is VALID [2022-04-07 13:41:38,075 INFO L290 TraceCheckUtils]: 16: Hoare triple {16584#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; {16637#(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-07 13:41:38,075 INFO L272 TraceCheckUtils]: 17: Hoare triple {16637#(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)); {16584#true} is VALID [2022-04-07 13:41:38,075 INFO L290 TraceCheckUtils]: 18: Hoare triple {16584#true} ~cond := #in~cond; {16584#true} is VALID [2022-04-07 13:41:38,075 INFO L290 TraceCheckUtils]: 19: Hoare triple {16584#true} assume !(0 == ~cond); {16584#true} is VALID [2022-04-07 13:41:38,075 INFO L290 TraceCheckUtils]: 20: Hoare triple {16584#true} assume true; {16584#true} is VALID [2022-04-07 13:41:38,075 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16584#true} {16637#(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))} #82#return; {16637#(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-07 13:41:38,075 INFO L272 TraceCheckUtils]: 22: Hoare triple {16637#(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)); {16584#true} is VALID [2022-04-07 13:41:38,076 INFO L290 TraceCheckUtils]: 23: Hoare triple {16584#true} ~cond := #in~cond; {16584#true} is VALID [2022-04-07 13:41:38,076 INFO L290 TraceCheckUtils]: 24: Hoare triple {16584#true} assume !(0 == ~cond); {16584#true} is VALID [2022-04-07 13:41:38,076 INFO L290 TraceCheckUtils]: 25: Hoare triple {16584#true} assume true; {16584#true} is VALID [2022-04-07 13:41:38,076 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16584#true} {16637#(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))} #84#return; {16637#(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-07 13:41:38,077 INFO L290 TraceCheckUtils]: 27: Hoare triple {16637#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16637#(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-07 13:41:38,077 INFO L290 TraceCheckUtils]: 28: Hoare triple {16637#(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 !!(#t~post6 < 100);havoc #t~post6; {16637#(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-07 13:41:38,077 INFO L290 TraceCheckUtils]: 29: Hoare triple {16637#(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; {16677#(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-07 13:41:38,078 INFO L290 TraceCheckUtils]: 30: Hoare triple {16677#(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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16677#(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-07 13:41:38,078 INFO L290 TraceCheckUtils]: 31: Hoare triple {16677#(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 !!(#t~post7 < 100);havoc #t~post7; {16677#(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-07 13:41:38,078 INFO L272 TraceCheckUtils]: 32: Hoare triple {16677#(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)); {16584#true} is VALID [2022-04-07 13:41:38,078 INFO L290 TraceCheckUtils]: 33: Hoare triple {16584#true} ~cond := #in~cond; {16584#true} is VALID [2022-04-07 13:41:38,078 INFO L290 TraceCheckUtils]: 34: Hoare triple {16584#true} assume !(0 == ~cond); {16584#true} is VALID [2022-04-07 13:41:38,078 INFO L290 TraceCheckUtils]: 35: Hoare triple {16584#true} assume true; {16584#true} is VALID [2022-04-07 13:41:38,079 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16584#true} {16677#(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))} #86#return; {16677#(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-07 13:41:38,079 INFO L272 TraceCheckUtils]: 37: Hoare triple {16677#(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)); {16584#true} is VALID [2022-04-07 13:41:38,079 INFO L290 TraceCheckUtils]: 38: Hoare triple {16584#true} ~cond := #in~cond; {16584#true} is VALID [2022-04-07 13:41:38,079 INFO L290 TraceCheckUtils]: 39: Hoare triple {16584#true} assume !(0 == ~cond); {16584#true} is VALID [2022-04-07 13:41:38,079 INFO L290 TraceCheckUtils]: 40: Hoare triple {16584#true} assume true; {16584#true} is VALID [2022-04-07 13:41:38,080 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16584#true} {16677#(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))} #88#return; {16677#(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-07 13:41:38,080 INFO L272 TraceCheckUtils]: 42: Hoare triple {16677#(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)); {16584#true} is VALID [2022-04-07 13:41:38,080 INFO L290 TraceCheckUtils]: 43: Hoare triple {16584#true} ~cond := #in~cond; {16584#true} is VALID [2022-04-07 13:41:38,080 INFO L290 TraceCheckUtils]: 44: Hoare triple {16584#true} assume !(0 == ~cond); {16584#true} is VALID [2022-04-07 13:41:38,080 INFO L290 TraceCheckUtils]: 45: Hoare triple {16584#true} assume true; {16584#true} is VALID [2022-04-07 13:41:38,081 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16584#true} {16677#(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))} #90#return; {16677#(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-07 13:41:38,081 INFO L272 TraceCheckUtils]: 47: Hoare triple {16677#(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)); {16584#true} is VALID [2022-04-07 13:41:38,081 INFO L290 TraceCheckUtils]: 48: Hoare triple {16584#true} ~cond := #in~cond; {16584#true} is VALID [2022-04-07 13:41:38,081 INFO L290 TraceCheckUtils]: 49: Hoare triple {16584#true} assume !(0 == ~cond); {16584#true} is VALID [2022-04-07 13:41:38,081 INFO L290 TraceCheckUtils]: 50: Hoare triple {16584#true} assume true; {16584#true} is VALID [2022-04-07 13:41:38,081 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {16584#true} {16677#(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))} #92#return; {16677#(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-07 13:41:38,082 INFO L290 TraceCheckUtils]: 52: Hoare triple {16677#(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; {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= 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-07 13:41:38,082 INFO L290 TraceCheckUtils]: 53: Hoare triple {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= 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-07 13:41:38,083 INFO L290 TraceCheckUtils]: 54: Hoare triple {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= 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-07 13:41:38,083 INFO L272 TraceCheckUtils]: 55: Hoare triple {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= 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)); {16584#true} is VALID [2022-04-07 13:41:38,083 INFO L290 TraceCheckUtils]: 56: Hoare triple {16584#true} ~cond := #in~cond; {16584#true} is VALID [2022-04-07 13:41:38,083 INFO L290 TraceCheckUtils]: 57: Hoare triple {16584#true} assume !(0 == ~cond); {16584#true} is VALID [2022-04-07 13:41:38,083 INFO L290 TraceCheckUtils]: 58: Hoare triple {16584#true} assume true; {16584#true} is VALID [2022-04-07 13:41:38,083 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16584#true} {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= 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-07 13:41:38,084 INFO L272 TraceCheckUtils]: 60: Hoare triple {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= 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)); {16584#true} is VALID [2022-04-07 13:41:38,084 INFO L290 TraceCheckUtils]: 61: Hoare triple {16584#true} ~cond := #in~cond; {16584#true} is VALID [2022-04-07 13:41:38,084 INFO L290 TraceCheckUtils]: 62: Hoare triple {16584#true} assume !(0 == ~cond); {16584#true} is VALID [2022-04-07 13:41:38,084 INFO L290 TraceCheckUtils]: 63: Hoare triple {16584#true} assume true; {16584#true} is VALID [2022-04-07 13:41:38,084 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {16584#true} {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= 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-07 13:41:38,084 INFO L272 TraceCheckUtils]: 65: Hoare triple {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= 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)); {16584#true} is VALID [2022-04-07 13:41:38,084 INFO L290 TraceCheckUtils]: 66: Hoare triple {16584#true} ~cond := #in~cond; {16584#true} is VALID [2022-04-07 13:41:38,084 INFO L290 TraceCheckUtils]: 67: Hoare triple {16584#true} assume !(0 == ~cond); {16584#true} is VALID [2022-04-07 13:41:38,084 INFO L290 TraceCheckUtils]: 68: Hoare triple {16584#true} assume true; {16584#true} is VALID [2022-04-07 13:41:38,085 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {16584#true} {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= 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-07 13:41:38,085 INFO L272 TraceCheckUtils]: 70: Hoare triple {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= 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)); {16584#true} is VALID [2022-04-07 13:41:38,085 INFO L290 TraceCheckUtils]: 71: Hoare triple {16584#true} ~cond := #in~cond; {16584#true} is VALID [2022-04-07 13:41:38,085 INFO L290 TraceCheckUtils]: 72: Hoare triple {16584#true} assume !(0 == ~cond); {16584#true} is VALID [2022-04-07 13:41:38,085 INFO L290 TraceCheckUtils]: 73: Hoare triple {16584#true} assume true; {16584#true} is VALID [2022-04-07 13:41:38,086 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {16584#true} {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #92#return; {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= 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-07 13:41:38,086 INFO L290 TraceCheckUtils]: 75: Hoare triple {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= 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); {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= 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-07 13:41:38,087 INFO L290 TraceCheckUtils]: 76: Hoare triple {16747#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= 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; {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-07 13:41:38,088 INFO L290 TraceCheckUtils]: 77: Hoare triple {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-07 13:41:38,088 INFO L290 TraceCheckUtils]: 78: Hoare triple {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-07 13:41:38,088 INFO L290 TraceCheckUtils]: 79: Hoare triple {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-07 13:41:38,089 INFO L290 TraceCheckUtils]: 80: Hoare triple {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-07 13:41:38,089 INFO L290 TraceCheckUtils]: 81: Hoare triple {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-07 13:41:38,089 INFO L272 TraceCheckUtils]: 82: Hoare triple {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= 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)); {16584#true} is VALID [2022-04-07 13:41:38,089 INFO L290 TraceCheckUtils]: 83: Hoare triple {16584#true} ~cond := #in~cond; {16584#true} is VALID [2022-04-07 13:41:38,089 INFO L290 TraceCheckUtils]: 84: Hoare triple {16584#true} assume !(0 == ~cond); {16584#true} is VALID [2022-04-07 13:41:38,089 INFO L290 TraceCheckUtils]: 85: Hoare triple {16584#true} assume true; {16584#true} is VALID [2022-04-07 13:41:38,090 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {16584#true} {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-07 13:41:38,090 INFO L272 TraceCheckUtils]: 87: Hoare triple {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= 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)); {16584#true} is VALID [2022-04-07 13:41:38,090 INFO L290 TraceCheckUtils]: 88: Hoare triple {16584#true} ~cond := #in~cond; {16584#true} is VALID [2022-04-07 13:41:38,090 INFO L290 TraceCheckUtils]: 89: Hoare triple {16584#true} assume !(0 == ~cond); {16584#true} is VALID [2022-04-07 13:41:38,090 INFO L290 TraceCheckUtils]: 90: Hoare triple {16584#true} assume true; {16584#true} is VALID [2022-04-07 13:41:38,091 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {16584#true} {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-07 13:41:38,091 INFO L272 TraceCheckUtils]: 92: Hoare triple {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= 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)); {16584#true} is VALID [2022-04-07 13:41:38,091 INFO L290 TraceCheckUtils]: 93: Hoare triple {16584#true} ~cond := #in~cond; {16872#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:41:38,091 INFO L290 TraceCheckUtils]: 94: Hoare triple {16872#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16876#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:41:38,091 INFO L290 TraceCheckUtils]: 95: Hoare triple {16876#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16876#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:41:38,092 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {16876#(not (= |__VERIFIER_assert_#in~cond| 0))} {16820#(and (<= (+ main_~s~0 1) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {16883#(and (<= (+ main_~s~0 1) 0) (= 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_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-07 13:41:38,111 INFO L272 TraceCheckUtils]: 97: Hoare triple {16883#(and (<= (+ main_~s~0 1) 0) (= 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_~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)); {16887#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:41:38,111 INFO L290 TraceCheckUtils]: 98: Hoare triple {16887#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16891#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:41:38,111 INFO L290 TraceCheckUtils]: 99: Hoare triple {16891#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16585#false} is VALID [2022-04-07 13:41:38,111 INFO L290 TraceCheckUtils]: 100: Hoare triple {16585#false} assume !false; {16585#false} is VALID [2022-04-07 13:41:38,112 INFO L134 CoverageAnalysis]: Checked inductivity of 288 backedges. 51 proven. 23 refuted. 0 times theorem prover too weak. 214 trivial. 0 not checked. [2022-04-07 13:41:38,112 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:42:15,635 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 13:42:16,842 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:42:16,843 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [117449473] [2022-04-07 13:42:16,843 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:42:16,843 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [472571356] [2022-04-07 13:42:16,843 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [472571356] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 13:42:16,843 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-07 13:42:16,843 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-07 13:42:16,843 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1440525808] [2022-04-07 13:42:16,843 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-07 13:42:16,844 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) Word has length 101 [2022-04-07 13:42:16,844 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:42:16,844 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-07 13:42:16,934 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-07 13:42:16,934 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-07 13:42:16,934 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:42:16,935 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-07 13:42:16,935 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=164, Unknown=0, NotChecked=0, Total=210 [2022-04-07 13:42:16,935 INFO L87 Difference]: Start difference. First operand 368 states and 460 transitions. Second operand has 11 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-07 13:42:27,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:42:27,159 INFO L93 Difference]: Finished difference Result 377 states and 468 transitions. [2022-04-07 13:42:27,159 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-07 13:42:27,159 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) Word has length 101 [2022-04-07 13:42:27,160 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:42:27,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-07 13:42:27,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 116 transitions. [2022-04-07 13:42:27,161 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-07 13:42:27,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 116 transitions. [2022-04-07 13:42:27,163 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 116 transitions. [2022-04-07 13:42:27,314 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:42:27,321 INFO L225 Difference]: With dead ends: 377 [2022-04-07 13:42:27,321 INFO L226 Difference]: Without dead ends: 375 [2022-04-07 13:42:27,322 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 113 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=73, Invalid=269, Unknown=0, NotChecked=0, Total=342 [2022-04-07 13:42:27,323 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 29 mSDsluCounter, 262 mSDsCounter, 0 mSdLazyCounter, 505 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 315 SdHoareTripleChecker+Invalid, 525 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 505 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-07 13:42:27,323 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 315 Invalid, 525 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 505 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-07 13:42:27,324 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 375 states. [2022-04-07 13:42:27,570 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 375 to 372. [2022-04-07 13:42:27,570 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:42:27,571 INFO L82 GeneralOperation]: Start isEquivalent. First operand 375 states. Second operand has 372 states, 250 states have (on average 1.184) internal successors, (296), 255 states have internal predecessors, (296), 84 states have call successors, (84), 38 states have call predecessors, (84), 37 states have return successors, (82), 78 states have call predecessors, (82), 82 states have call successors, (82) [2022-04-07 13:42:27,572 INFO L74 IsIncluded]: Start isIncluded. First operand 375 states. Second operand has 372 states, 250 states have (on average 1.184) internal successors, (296), 255 states have internal predecessors, (296), 84 states have call successors, (84), 38 states have call predecessors, (84), 37 states have return successors, (82), 78 states have call predecessors, (82), 82 states have call successors, (82) [2022-04-07 13:42:27,572 INFO L87 Difference]: Start difference. First operand 375 states. Second operand has 372 states, 250 states have (on average 1.184) internal successors, (296), 255 states have internal predecessors, (296), 84 states have call successors, (84), 38 states have call predecessors, (84), 37 states have return successors, (82), 78 states have call predecessors, (82), 82 states have call successors, (82) [2022-04-07 13:42:27,583 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:42:27,583 INFO L93 Difference]: Finished difference Result 375 states and 465 transitions. [2022-04-07 13:42:27,583 INFO L276 IsEmpty]: Start isEmpty. Operand 375 states and 465 transitions. [2022-04-07 13:42:27,584 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:42:27,584 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:42:27,585 INFO L74 IsIncluded]: Start isIncluded. First operand has 372 states, 250 states have (on average 1.184) internal successors, (296), 255 states have internal predecessors, (296), 84 states have call successors, (84), 38 states have call predecessors, (84), 37 states have return successors, (82), 78 states have call predecessors, (82), 82 states have call successors, (82) Second operand 375 states. [2022-04-07 13:42:27,585 INFO L87 Difference]: Start difference. First operand has 372 states, 250 states have (on average 1.184) internal successors, (296), 255 states have internal predecessors, (296), 84 states have call successors, (84), 38 states have call predecessors, (84), 37 states have return successors, (82), 78 states have call predecessors, (82), 82 states have call successors, (82) Second operand 375 states. [2022-04-07 13:42:27,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:42:27,592 INFO L93 Difference]: Finished difference Result 375 states and 465 transitions. [2022-04-07 13:42:27,592 INFO L276 IsEmpty]: Start isEmpty. Operand 375 states and 465 transitions. [2022-04-07 13:42:27,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:42:27,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:42:27,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:42:27,593 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:42:27,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 372 states, 250 states have (on average 1.184) internal successors, (296), 255 states have internal predecessors, (296), 84 states have call successors, (84), 38 states have call predecessors, (84), 37 states have return successors, (82), 78 states have call predecessors, (82), 82 states have call successors, (82) [2022-04-07 13:42:27,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 372 states to 372 states and 462 transitions. [2022-04-07 13:42:27,601 INFO L78 Accepts]: Start accepts. Automaton has 372 states and 462 transitions. Word has length 101 [2022-04-07 13:42:27,602 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:42:27,602 INFO L478 AbstractCegarLoop]: Abstraction has 372 states and 462 transitions. [2022-04-07 13:42:27,602 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-07 13:42:27,602 INFO L276 IsEmpty]: Start isEmpty. Operand 372 states and 462 transitions. [2022-04-07 13:42:27,603 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-07 13:42:27,603 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:42:27,603 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 3, 3, 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] [2022-04-07 13:42:27,620 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-07 13:42:27,820 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-07 13:42:27,820 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:42:27,821 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:42:27,821 INFO L85 PathProgramCache]: Analyzing trace with hash -2076615365, now seen corresponding path program 4 times [2022-04-07 13:42:27,821 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:42:27,821 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1138286281] [2022-04-07 13:42:27,821 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:42:27,821 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:42:27,831 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:42:27,832 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [630271598] [2022-04-07 13:42:27,832 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-07 13:42:27,832 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:42:27,832 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:42:27,833 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:42:27,833 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-07 13:42:27,887 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-07 13:42:27,887 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 13:42:27,888 INFO L263 TraceCheckSpWp]: Trace formula consists of 247 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-07 13:42:27,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:42:27,903 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:42:28,110 INFO L272 TraceCheckUtils]: 0: Hoare triple {18821#true} call ULTIMATE.init(); {18821#true} is VALID [2022-04-07 13:42:28,110 INFO L290 TraceCheckUtils]: 1: Hoare triple {18821#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);~counter~0 := 0; {18821#true} is VALID [2022-04-07 13:42:28,110 INFO L290 TraceCheckUtils]: 2: Hoare triple {18821#true} assume true; {18821#true} is VALID [2022-04-07 13:42:28,110 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18821#true} {18821#true} #98#return; {18821#true} is VALID [2022-04-07 13:42:28,110 INFO L272 TraceCheckUtils]: 4: Hoare triple {18821#true} call #t~ret8 := main(); {18821#true} is VALID [2022-04-07 13:42:28,110 INFO L290 TraceCheckUtils]: 5: Hoare triple {18821#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18821#true} is VALID [2022-04-07 13:42:28,110 INFO L272 TraceCheckUtils]: 6: Hoare triple {18821#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18821#true} is VALID [2022-04-07 13:42:28,110 INFO L290 TraceCheckUtils]: 7: Hoare triple {18821#true} ~cond := #in~cond; {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L290 TraceCheckUtils]: 8: Hoare triple {18821#true} assume !(0 == ~cond); {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L290 TraceCheckUtils]: 9: Hoare triple {18821#true} assume true; {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18821#true} {18821#true} #78#return; {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L272 TraceCheckUtils]: 11: Hoare triple {18821#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L290 TraceCheckUtils]: 12: Hoare triple {18821#true} ~cond := #in~cond; {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L290 TraceCheckUtils]: 13: Hoare triple {18821#true} assume !(0 == ~cond); {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L290 TraceCheckUtils]: 14: Hoare triple {18821#true} assume true; {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18821#true} {18821#true} #80#return; {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L290 TraceCheckUtils]: 16: Hoare triple {18821#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; {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L272 TraceCheckUtils]: 17: Hoare triple {18821#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L290 TraceCheckUtils]: 18: Hoare triple {18821#true} ~cond := #in~cond; {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L290 TraceCheckUtils]: 19: Hoare triple {18821#true} assume !(0 == ~cond); {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L290 TraceCheckUtils]: 20: Hoare triple {18821#true} assume true; {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18821#true} {18821#true} #82#return; {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L272 TraceCheckUtils]: 22: Hoare triple {18821#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L290 TraceCheckUtils]: 23: Hoare triple {18821#true} ~cond := #in~cond; {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L290 TraceCheckUtils]: 24: Hoare triple {18821#true} assume !(0 == ~cond); {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L290 TraceCheckUtils]: 25: Hoare triple {18821#true} assume true; {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18821#true} {18821#true} #84#return; {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L290 TraceCheckUtils]: 27: Hoare triple {18821#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18821#true} is VALID [2022-04-07 13:42:28,111 INFO L290 TraceCheckUtils]: 28: Hoare triple {18821#true} assume !!(#t~post6 < 100);havoc #t~post6; {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L290 TraceCheckUtils]: 29: Hoare triple {18821#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L290 TraceCheckUtils]: 30: Hoare triple {18821#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L290 TraceCheckUtils]: 31: Hoare triple {18821#true} assume !!(#t~post7 < 100);havoc #t~post7; {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L272 TraceCheckUtils]: 32: Hoare triple {18821#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L290 TraceCheckUtils]: 33: Hoare triple {18821#true} ~cond := #in~cond; {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L290 TraceCheckUtils]: 34: Hoare triple {18821#true} assume !(0 == ~cond); {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L290 TraceCheckUtils]: 35: Hoare triple {18821#true} assume true; {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18821#true} {18821#true} #86#return; {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L272 TraceCheckUtils]: 37: Hoare triple {18821#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L290 TraceCheckUtils]: 38: Hoare triple {18821#true} ~cond := #in~cond; {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L290 TraceCheckUtils]: 39: Hoare triple {18821#true} assume !(0 == ~cond); {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L290 TraceCheckUtils]: 40: Hoare triple {18821#true} assume true; {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18821#true} {18821#true} #88#return; {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L272 TraceCheckUtils]: 42: Hoare triple {18821#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L290 TraceCheckUtils]: 43: Hoare triple {18821#true} ~cond := #in~cond; {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L290 TraceCheckUtils]: 44: Hoare triple {18821#true} assume !(0 == ~cond); {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L290 TraceCheckUtils]: 45: Hoare triple {18821#true} assume true; {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18821#true} {18821#true} #90#return; {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L272 TraceCheckUtils]: 47: Hoare triple {18821#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)); {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L290 TraceCheckUtils]: 48: Hoare triple {18821#true} ~cond := #in~cond; {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L290 TraceCheckUtils]: 49: Hoare triple {18821#true} assume !(0 == ~cond); {18821#true} is VALID [2022-04-07 13:42:28,112 INFO L290 TraceCheckUtils]: 50: Hoare triple {18821#true} assume true; {18821#true} is VALID [2022-04-07 13:42:28,113 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {18821#true} {18821#true} #92#return; {18821#true} is VALID [2022-04-07 13:42:28,114 INFO L290 TraceCheckUtils]: 52: Hoare triple {18821#true} assume !(~c~0 >= ~b~0); {18982#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-07 13:42:28,115 INFO L290 TraceCheckUtils]: 53: Hoare triple {18982#(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; {18986#(< main_~b~0 main_~a~0)} is VALID [2022-04-07 13:42:28,115 INFO L290 TraceCheckUtils]: 54: Hoare triple {18986#(< main_~b~0 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18986#(< main_~b~0 main_~a~0)} is VALID [2022-04-07 13:42:28,115 INFO L290 TraceCheckUtils]: 55: Hoare triple {18986#(< main_~b~0 main_~a~0)} assume !!(#t~post6 < 100);havoc #t~post6; {18986#(< main_~b~0 main_~a~0)} is VALID [2022-04-07 13:42:28,116 INFO L290 TraceCheckUtils]: 56: Hoare triple {18986#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18996#(< main_~b~0 main_~c~0)} is VALID [2022-04-07 13:42:28,116 INFO L290 TraceCheckUtils]: 57: Hoare triple {18996#(< main_~b~0 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18996#(< main_~b~0 main_~c~0)} is VALID [2022-04-07 13:42:28,116 INFO L290 TraceCheckUtils]: 58: Hoare triple {18996#(< main_~b~0 main_~c~0)} assume !!(#t~post7 < 100);havoc #t~post7; {18996#(< main_~b~0 main_~c~0)} is VALID [2022-04-07 13:42:28,116 INFO L272 TraceCheckUtils]: 59: Hoare triple {18996#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18821#true} is VALID [2022-04-07 13:42:28,116 INFO L290 TraceCheckUtils]: 60: Hoare triple {18821#true} ~cond := #in~cond; {18821#true} is VALID [2022-04-07 13:42:28,116 INFO L290 TraceCheckUtils]: 61: Hoare triple {18821#true} assume !(0 == ~cond); {18821#true} is VALID [2022-04-07 13:42:28,116 INFO L290 TraceCheckUtils]: 62: Hoare triple {18821#true} assume true; {18821#true} is VALID [2022-04-07 13:42:28,117 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {18821#true} {18996#(< main_~b~0 main_~c~0)} #86#return; {18996#(< main_~b~0 main_~c~0)} is VALID [2022-04-07 13:42:28,117 INFO L272 TraceCheckUtils]: 64: Hoare triple {18996#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18821#true} is VALID [2022-04-07 13:42:28,117 INFO L290 TraceCheckUtils]: 65: Hoare triple {18821#true} ~cond := #in~cond; {18821#true} is VALID [2022-04-07 13:42:28,117 INFO L290 TraceCheckUtils]: 66: Hoare triple {18821#true} assume !(0 == ~cond); {18821#true} is VALID [2022-04-07 13:42:28,117 INFO L290 TraceCheckUtils]: 67: Hoare triple {18821#true} assume true; {18821#true} is VALID [2022-04-07 13:42:28,117 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {18821#true} {18996#(< main_~b~0 main_~c~0)} #88#return; {18996#(< main_~b~0 main_~c~0)} is VALID [2022-04-07 13:42:28,117 INFO L272 TraceCheckUtils]: 69: Hoare triple {18996#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18821#true} is VALID [2022-04-07 13:42:28,118 INFO L290 TraceCheckUtils]: 70: Hoare triple {18821#true} ~cond := #in~cond; {18821#true} is VALID [2022-04-07 13:42:28,118 INFO L290 TraceCheckUtils]: 71: Hoare triple {18821#true} assume !(0 == ~cond); {18821#true} is VALID [2022-04-07 13:42:28,118 INFO L290 TraceCheckUtils]: 72: Hoare triple {18821#true} assume true; {18821#true} is VALID [2022-04-07 13:42:28,118 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {18821#true} {18996#(< main_~b~0 main_~c~0)} #90#return; {18996#(< main_~b~0 main_~c~0)} is VALID [2022-04-07 13:42:28,118 INFO L272 TraceCheckUtils]: 74: Hoare triple {18996#(< 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)); {18821#true} is VALID [2022-04-07 13:42:28,118 INFO L290 TraceCheckUtils]: 75: Hoare triple {18821#true} ~cond := #in~cond; {18821#true} is VALID [2022-04-07 13:42:28,118 INFO L290 TraceCheckUtils]: 76: Hoare triple {18821#true} assume !(0 == ~cond); {18821#true} is VALID [2022-04-07 13:42:28,118 INFO L290 TraceCheckUtils]: 77: Hoare triple {18821#true} assume true; {18821#true} is VALID [2022-04-07 13:42:28,119 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {18821#true} {18996#(< main_~b~0 main_~c~0)} #92#return; {18996#(< main_~b~0 main_~c~0)} is VALID [2022-04-07 13:42:28,119 INFO L290 TraceCheckUtils]: 79: Hoare triple {18996#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {18822#false} is VALID [2022-04-07 13:42:28,119 INFO L290 TraceCheckUtils]: 80: Hoare triple {18822#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; {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L290 TraceCheckUtils]: 81: Hoare triple {18822#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L290 TraceCheckUtils]: 82: Hoare triple {18822#false} assume !!(#t~post6 < 100);havoc #t~post6; {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L290 TraceCheckUtils]: 83: Hoare triple {18822#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L290 TraceCheckUtils]: 84: Hoare triple {18822#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L290 TraceCheckUtils]: 85: Hoare triple {18822#false} assume !!(#t~post7 < 100);havoc #t~post7; {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L272 TraceCheckUtils]: 86: Hoare triple {18822#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L290 TraceCheckUtils]: 87: Hoare triple {18822#false} ~cond := #in~cond; {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L290 TraceCheckUtils]: 88: Hoare triple {18822#false} assume !(0 == ~cond); {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L290 TraceCheckUtils]: 89: Hoare triple {18822#false} assume true; {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {18822#false} {18822#false} #86#return; {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L272 TraceCheckUtils]: 91: Hoare triple {18822#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L290 TraceCheckUtils]: 92: Hoare triple {18822#false} ~cond := #in~cond; {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L290 TraceCheckUtils]: 93: Hoare triple {18822#false} assume !(0 == ~cond); {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L290 TraceCheckUtils]: 94: Hoare triple {18822#false} assume true; {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {18822#false} {18822#false} #88#return; {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L272 TraceCheckUtils]: 96: Hoare triple {18822#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L290 TraceCheckUtils]: 97: Hoare triple {18822#false} ~cond := #in~cond; {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L290 TraceCheckUtils]: 98: Hoare triple {18822#false} assume !(0 == ~cond); {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L290 TraceCheckUtils]: 99: Hoare triple {18822#false} assume true; {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {18822#false} {18822#false} #90#return; {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L272 TraceCheckUtils]: 101: Hoare triple {18822#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)); {18822#false} is VALID [2022-04-07 13:42:28,120 INFO L290 TraceCheckUtils]: 102: Hoare triple {18822#false} ~cond := #in~cond; {18822#false} is VALID [2022-04-07 13:42:28,121 INFO L290 TraceCheckUtils]: 103: Hoare triple {18822#false} assume 0 == ~cond; {18822#false} is VALID [2022-04-07 13:42:28,121 INFO L290 TraceCheckUtils]: 104: Hoare triple {18822#false} assume !false; {18822#false} is VALID [2022-04-07 13:42:28,121 INFO L134 CoverageAnalysis]: Checked inductivity of 295 backedges. 141 proven. 0 refuted. 0 times theorem prover too weak. 154 trivial. 0 not checked. [2022-04-07 13:42:28,121 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 13:42:28,121 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:42:28,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1138286281] [2022-04-07 13:42:28,121 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:42:28,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [630271598] [2022-04-07 13:42:28,121 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [630271598] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 13:42:28,121 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 13:42:28,121 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 13:42:28,121 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [986253082] [2022-04-07 13:42:28,121 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 13:42:28,122 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) Word has length 105 [2022-04-07 13:42:28,122 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:42:28,122 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-07 13:42:28,167 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:42:28,168 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 13:42:28,168 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:42:28,168 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 13:42:28,168 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-07 13:42:28,168 INFO L87 Difference]: Start difference. First operand 372 states and 462 transitions. Second operand has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-07 13:42:28,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:42:28,770 INFO L93 Difference]: Finished difference Result 535 states and 713 transitions. [2022-04-07 13:42:28,770 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-07 13:42:28,770 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) Word has length 105 [2022-04-07 13:42:28,770 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:42:28,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-07 13:42:28,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 104 transitions. [2022-04-07 13:42:28,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-07 13:42:28,772 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 104 transitions. [2022-04-07 13:42:28,772 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 104 transitions. [2022-04-07 13:42:28,853 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:42:28,861 INFO L225 Difference]: With dead ends: 535 [2022-04-07 13:42:28,861 INFO L226 Difference]: Without dead ends: 417 [2022-04-07 13:42:28,862 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 102 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-07 13:42:28,862 INFO L913 BasicCegarLoop]: 60 mSDtfsCounter, 12 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 71 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 172 SdHoareTripleChecker+Invalid, 76 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 71 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 13:42:28,863 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 172 Invalid, 76 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 71 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 13:42:28,863 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 417 states. [2022-04-07 13:42:29,233 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 417 to 387. [2022-04-07 13:42:29,233 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:42:29,239 INFO L82 GeneralOperation]: Start isEquivalent. First operand 417 states. Second operand has 387 states, 259 states have (on average 1.193050193050193) internal successors, (309), 263 states have internal predecessors, (309), 90 states have call successors, (90), 38 states have call predecessors, (90), 37 states have return successors, (88), 85 states have call predecessors, (88), 88 states have call successors, (88) [2022-04-07 13:42:29,240 INFO L74 IsIncluded]: Start isIncluded. First operand 417 states. Second operand has 387 states, 259 states have (on average 1.193050193050193) internal successors, (309), 263 states have internal predecessors, (309), 90 states have call successors, (90), 38 states have call predecessors, (90), 37 states have return successors, (88), 85 states have call predecessors, (88), 88 states have call successors, (88) [2022-04-07 13:42:29,240 INFO L87 Difference]: Start difference. First operand 417 states. Second operand has 387 states, 259 states have (on average 1.193050193050193) internal successors, (309), 263 states have internal predecessors, (309), 90 states have call successors, (90), 38 states have call predecessors, (90), 37 states have return successors, (88), 85 states have call predecessors, (88), 88 states have call successors, (88) [2022-04-07 13:42:29,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:42:29,249 INFO L93 Difference]: Finished difference Result 417 states and 535 transitions. [2022-04-07 13:42:29,249 INFO L276 IsEmpty]: Start isEmpty. Operand 417 states and 535 transitions. [2022-04-07 13:42:29,250 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:42:29,250 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:42:29,250 INFO L74 IsIncluded]: Start isIncluded. First operand has 387 states, 259 states have (on average 1.193050193050193) internal successors, (309), 263 states have internal predecessors, (309), 90 states have call successors, (90), 38 states have call predecessors, (90), 37 states have return successors, (88), 85 states have call predecessors, (88), 88 states have call successors, (88) Second operand 417 states. [2022-04-07 13:42:29,251 INFO L87 Difference]: Start difference. First operand has 387 states, 259 states have (on average 1.193050193050193) internal successors, (309), 263 states have internal predecessors, (309), 90 states have call successors, (90), 38 states have call predecessors, (90), 37 states have return successors, (88), 85 states have call predecessors, (88), 88 states have call successors, (88) Second operand 417 states. [2022-04-07 13:42:29,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:42:29,259 INFO L93 Difference]: Finished difference Result 417 states and 535 transitions. [2022-04-07 13:42:29,259 INFO L276 IsEmpty]: Start isEmpty. Operand 417 states and 535 transitions. [2022-04-07 13:42:29,260 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:42:29,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:42:29,260 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:42:29,260 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:42:29,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 387 states, 259 states have (on average 1.193050193050193) internal successors, (309), 263 states have internal predecessors, (309), 90 states have call successors, (90), 38 states have call predecessors, (90), 37 states have return successors, (88), 85 states have call predecessors, (88), 88 states have call successors, (88) [2022-04-07 13:42:29,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 387 states to 387 states and 487 transitions. [2022-04-07 13:42:29,269 INFO L78 Accepts]: Start accepts. Automaton has 387 states and 487 transitions. Word has length 105 [2022-04-07 13:42:29,269 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:42:29,269 INFO L478 AbstractCegarLoop]: Abstraction has 387 states and 487 transitions. [2022-04-07 13:42:29,269 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-07 13:42:29,269 INFO L276 IsEmpty]: Start isEmpty. Operand 387 states and 487 transitions. [2022-04-07 13:42:29,270 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-07 13:42:29,270 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:42:29,270 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:42:29,288 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-07 13:42:29,486 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-07 13:42:29,487 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:42:29,487 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:42:29,487 INFO L85 PathProgramCache]: Analyzing trace with hash 1546024104, now seen corresponding path program 1 times [2022-04-07 13:42:29,487 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:42:29,487 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [836337511] [2022-04-07 13:42:29,487 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:42:29,487 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:42:29,502 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:42:29,502 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [932167337] [2022-04-07 13:42:29,502 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:42:29,502 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:42:29,503 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:42:29,503 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:42:29,505 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-07 13:42:29,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:42:29,562 INFO L263 TraceCheckSpWp]: Trace formula consists of 332 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-07 13:42:29,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:42:29,583 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:42:30,119 INFO L272 TraceCheckUtils]: 0: Hoare triple {21321#true} call ULTIMATE.init(); {21321#true} is VALID [2022-04-07 13:42:30,120 INFO L290 TraceCheckUtils]: 1: Hoare triple {21321#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);~counter~0 := 0; {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,120 INFO L290 TraceCheckUtils]: 2: Hoare triple {21329#(<= ~counter~0 0)} assume true; {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,121 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21329#(<= ~counter~0 0)} {21321#true} #98#return; {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,121 INFO L272 TraceCheckUtils]: 4: Hoare triple {21329#(<= ~counter~0 0)} call #t~ret8 := main(); {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,121 INFO L290 TraceCheckUtils]: 5: Hoare triple {21329#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,122 INFO L272 TraceCheckUtils]: 6: Hoare triple {21329#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,122 INFO L290 TraceCheckUtils]: 7: Hoare triple {21329#(<= ~counter~0 0)} ~cond := #in~cond; {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,122 INFO L290 TraceCheckUtils]: 8: Hoare triple {21329#(<= ~counter~0 0)} assume !(0 == ~cond); {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,123 INFO L290 TraceCheckUtils]: 9: Hoare triple {21329#(<= ~counter~0 0)} assume true; {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,123 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21329#(<= ~counter~0 0)} {21329#(<= ~counter~0 0)} #78#return; {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,124 INFO L272 TraceCheckUtils]: 11: Hoare triple {21329#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,124 INFO L290 TraceCheckUtils]: 12: Hoare triple {21329#(<= ~counter~0 0)} ~cond := #in~cond; {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,124 INFO L290 TraceCheckUtils]: 13: Hoare triple {21329#(<= ~counter~0 0)} assume !(0 == ~cond); {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,124 INFO L290 TraceCheckUtils]: 14: Hoare triple {21329#(<= ~counter~0 0)} assume true; {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,125 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {21329#(<= ~counter~0 0)} {21329#(<= ~counter~0 0)} #80#return; {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,125 INFO L290 TraceCheckUtils]: 16: Hoare triple {21329#(<= ~counter~0 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; {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,125 INFO L272 TraceCheckUtils]: 17: Hoare triple {21329#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,126 INFO L290 TraceCheckUtils]: 18: Hoare triple {21329#(<= ~counter~0 0)} ~cond := #in~cond; {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,126 INFO L290 TraceCheckUtils]: 19: Hoare triple {21329#(<= ~counter~0 0)} assume !(0 == ~cond); {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,126 INFO L290 TraceCheckUtils]: 20: Hoare triple {21329#(<= ~counter~0 0)} assume true; {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,126 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {21329#(<= ~counter~0 0)} {21329#(<= ~counter~0 0)} #82#return; {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,127 INFO L272 TraceCheckUtils]: 22: Hoare triple {21329#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,127 INFO L290 TraceCheckUtils]: 23: Hoare triple {21329#(<= ~counter~0 0)} ~cond := #in~cond; {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,127 INFO L290 TraceCheckUtils]: 24: Hoare triple {21329#(<= ~counter~0 0)} assume !(0 == ~cond); {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,127 INFO L290 TraceCheckUtils]: 25: Hoare triple {21329#(<= ~counter~0 0)} assume true; {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,128 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {21329#(<= ~counter~0 0)} {21329#(<= ~counter~0 0)} #84#return; {21329#(<= ~counter~0 0)} is VALID [2022-04-07 13:42:30,129 INFO L290 TraceCheckUtils]: 27: Hoare triple {21329#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21408#(<= ~counter~0 1)} is VALID [2022-04-07 13:42:30,129 INFO L290 TraceCheckUtils]: 28: Hoare triple {21408#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {21408#(<= ~counter~0 1)} is VALID [2022-04-07 13:42:30,129 INFO L290 TraceCheckUtils]: 29: Hoare triple {21408#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {21408#(<= ~counter~0 1)} is VALID [2022-04-07 13:42:30,129 INFO L290 TraceCheckUtils]: 30: Hoare triple {21408#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,130 INFO L290 TraceCheckUtils]: 31: Hoare triple {21418#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,130 INFO L272 TraceCheckUtils]: 32: Hoare triple {21418#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,130 INFO L290 TraceCheckUtils]: 33: Hoare triple {21418#(<= ~counter~0 2)} ~cond := #in~cond; {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,131 INFO L290 TraceCheckUtils]: 34: Hoare triple {21418#(<= ~counter~0 2)} assume !(0 == ~cond); {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,131 INFO L290 TraceCheckUtils]: 35: Hoare triple {21418#(<= ~counter~0 2)} assume true; {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,131 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {21418#(<= ~counter~0 2)} {21418#(<= ~counter~0 2)} #86#return; {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,132 INFO L272 TraceCheckUtils]: 37: Hoare triple {21418#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,132 INFO L290 TraceCheckUtils]: 38: Hoare triple {21418#(<= ~counter~0 2)} ~cond := #in~cond; {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,132 INFO L290 TraceCheckUtils]: 39: Hoare triple {21418#(<= ~counter~0 2)} assume !(0 == ~cond); {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,132 INFO L290 TraceCheckUtils]: 40: Hoare triple {21418#(<= ~counter~0 2)} assume true; {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,133 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21418#(<= ~counter~0 2)} {21418#(<= ~counter~0 2)} #88#return; {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,133 INFO L272 TraceCheckUtils]: 42: Hoare triple {21418#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,133 INFO L290 TraceCheckUtils]: 43: Hoare triple {21418#(<= ~counter~0 2)} ~cond := #in~cond; {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,134 INFO L290 TraceCheckUtils]: 44: Hoare triple {21418#(<= ~counter~0 2)} assume !(0 == ~cond); {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,134 INFO L290 TraceCheckUtils]: 45: Hoare triple {21418#(<= ~counter~0 2)} assume true; {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,134 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {21418#(<= ~counter~0 2)} {21418#(<= ~counter~0 2)} #90#return; {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,135 INFO L272 TraceCheckUtils]: 47: Hoare triple {21418#(<= ~counter~0 2)} 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)); {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,135 INFO L290 TraceCheckUtils]: 48: Hoare triple {21418#(<= ~counter~0 2)} ~cond := #in~cond; {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,135 INFO L290 TraceCheckUtils]: 49: Hoare triple {21418#(<= ~counter~0 2)} assume !(0 == ~cond); {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,136 INFO L290 TraceCheckUtils]: 50: Hoare triple {21418#(<= ~counter~0 2)} assume true; {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,136 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {21418#(<= ~counter~0 2)} {21418#(<= ~counter~0 2)} #92#return; {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,136 INFO L290 TraceCheckUtils]: 52: Hoare triple {21418#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,137 INFO L290 TraceCheckUtils]: 53: Hoare triple {21418#(<= ~counter~0 2)} ~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; {21418#(<= ~counter~0 2)} is VALID [2022-04-07 13:42:30,137 INFO L290 TraceCheckUtils]: 54: Hoare triple {21418#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21491#(<= ~counter~0 3)} is VALID [2022-04-07 13:42:30,137 INFO L290 TraceCheckUtils]: 55: Hoare triple {21491#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {21491#(<= ~counter~0 3)} is VALID [2022-04-07 13:42:30,138 INFO L290 TraceCheckUtils]: 56: Hoare triple {21491#(<= ~counter~0 3)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {21491#(<= ~counter~0 3)} is VALID [2022-04-07 13:42:30,138 INFO L290 TraceCheckUtils]: 57: Hoare triple {21491#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,138 INFO L290 TraceCheckUtils]: 58: Hoare triple {21501#(<= ~counter~0 4)} assume !!(#t~post7 < 100);havoc #t~post7; {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,139 INFO L272 TraceCheckUtils]: 59: Hoare triple {21501#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,139 INFO L290 TraceCheckUtils]: 60: Hoare triple {21501#(<= ~counter~0 4)} ~cond := #in~cond; {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,139 INFO L290 TraceCheckUtils]: 61: Hoare triple {21501#(<= ~counter~0 4)} assume !(0 == ~cond); {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,139 INFO L290 TraceCheckUtils]: 62: Hoare triple {21501#(<= ~counter~0 4)} assume true; {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,140 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {21501#(<= ~counter~0 4)} {21501#(<= ~counter~0 4)} #86#return; {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,140 INFO L272 TraceCheckUtils]: 64: Hoare triple {21501#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,140 INFO L290 TraceCheckUtils]: 65: Hoare triple {21501#(<= ~counter~0 4)} ~cond := #in~cond; {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,141 INFO L290 TraceCheckUtils]: 66: Hoare triple {21501#(<= ~counter~0 4)} assume !(0 == ~cond); {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,141 INFO L290 TraceCheckUtils]: 67: Hoare triple {21501#(<= ~counter~0 4)} assume true; {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,141 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {21501#(<= ~counter~0 4)} {21501#(<= ~counter~0 4)} #88#return; {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,142 INFO L272 TraceCheckUtils]: 69: Hoare triple {21501#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,142 INFO L290 TraceCheckUtils]: 70: Hoare triple {21501#(<= ~counter~0 4)} ~cond := #in~cond; {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,142 INFO L290 TraceCheckUtils]: 71: Hoare triple {21501#(<= ~counter~0 4)} assume !(0 == ~cond); {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,142 INFO L290 TraceCheckUtils]: 72: Hoare triple {21501#(<= ~counter~0 4)} assume true; {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,143 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {21501#(<= ~counter~0 4)} {21501#(<= ~counter~0 4)} #90#return; {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,143 INFO L272 TraceCheckUtils]: 74: Hoare triple {21501#(<= ~counter~0 4)} 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)); {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,144 INFO L290 TraceCheckUtils]: 75: Hoare triple {21501#(<= ~counter~0 4)} ~cond := #in~cond; {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,144 INFO L290 TraceCheckUtils]: 76: Hoare triple {21501#(<= ~counter~0 4)} assume !(0 == ~cond); {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,144 INFO L290 TraceCheckUtils]: 77: Hoare triple {21501#(<= ~counter~0 4)} assume true; {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,145 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {21501#(<= ~counter~0 4)} {21501#(<= ~counter~0 4)} #92#return; {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,145 INFO L290 TraceCheckUtils]: 79: Hoare triple {21501#(<= ~counter~0 4)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {21501#(<= ~counter~0 4)} is VALID [2022-04-07 13:42:30,145 INFO L290 TraceCheckUtils]: 80: Hoare triple {21501#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,146 INFO L290 TraceCheckUtils]: 81: Hoare triple {21571#(<= ~counter~0 5)} assume !!(#t~post7 < 100);havoc #t~post7; {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,146 INFO L272 TraceCheckUtils]: 82: Hoare triple {21571#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,146 INFO L290 TraceCheckUtils]: 83: Hoare triple {21571#(<= ~counter~0 5)} ~cond := #in~cond; {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,146 INFO L290 TraceCheckUtils]: 84: Hoare triple {21571#(<= ~counter~0 5)} assume !(0 == ~cond); {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,147 INFO L290 TraceCheckUtils]: 85: Hoare triple {21571#(<= ~counter~0 5)} assume true; {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,147 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {21571#(<= ~counter~0 5)} {21571#(<= ~counter~0 5)} #86#return; {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,148 INFO L272 TraceCheckUtils]: 87: Hoare triple {21571#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,148 INFO L290 TraceCheckUtils]: 88: Hoare triple {21571#(<= ~counter~0 5)} ~cond := #in~cond; {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,148 INFO L290 TraceCheckUtils]: 89: Hoare triple {21571#(<= ~counter~0 5)} assume !(0 == ~cond); {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,148 INFO L290 TraceCheckUtils]: 90: Hoare triple {21571#(<= ~counter~0 5)} assume true; {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,149 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {21571#(<= ~counter~0 5)} {21571#(<= ~counter~0 5)} #88#return; {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,149 INFO L272 TraceCheckUtils]: 92: Hoare triple {21571#(<= ~counter~0 5)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,149 INFO L290 TraceCheckUtils]: 93: Hoare triple {21571#(<= ~counter~0 5)} ~cond := #in~cond; {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,150 INFO L290 TraceCheckUtils]: 94: Hoare triple {21571#(<= ~counter~0 5)} assume !(0 == ~cond); {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,150 INFO L290 TraceCheckUtils]: 95: Hoare triple {21571#(<= ~counter~0 5)} assume true; {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,150 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {21571#(<= ~counter~0 5)} {21571#(<= ~counter~0 5)} #90#return; {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,151 INFO L272 TraceCheckUtils]: 97: Hoare triple {21571#(<= ~counter~0 5)} 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)); {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,152 INFO L290 TraceCheckUtils]: 98: Hoare triple {21571#(<= ~counter~0 5)} ~cond := #in~cond; {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,152 INFO L290 TraceCheckUtils]: 99: Hoare triple {21571#(<= ~counter~0 5)} assume !(0 == ~cond); {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,152 INFO L290 TraceCheckUtils]: 100: Hoare triple {21571#(<= ~counter~0 5)} assume true; {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,153 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {21571#(<= ~counter~0 5)} {21571#(<= ~counter~0 5)} #92#return; {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,153 INFO L290 TraceCheckUtils]: 102: Hoare triple {21571#(<= ~counter~0 5)} assume !(~c~0 >= ~b~0); {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,153 INFO L290 TraceCheckUtils]: 103: Hoare triple {21571#(<= ~counter~0 5)} ~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; {21571#(<= ~counter~0 5)} is VALID [2022-04-07 13:42:30,154 INFO L290 TraceCheckUtils]: 104: Hoare triple {21571#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21644#(<= ~counter~0 6)} is VALID [2022-04-07 13:42:30,154 INFO L290 TraceCheckUtils]: 105: Hoare triple {21644#(<= ~counter~0 6)} assume !!(#t~post6 < 100);havoc #t~post6; {21644#(<= ~counter~0 6)} is VALID [2022-04-07 13:42:30,163 INFO L290 TraceCheckUtils]: 106: Hoare triple {21644#(<= ~counter~0 6)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {21644#(<= ~counter~0 6)} is VALID [2022-04-07 13:42:30,164 INFO L290 TraceCheckUtils]: 107: Hoare triple {21644#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {21654#(<= |main_#t~post7| 6)} is VALID [2022-04-07 13:42:30,164 INFO L290 TraceCheckUtils]: 108: Hoare triple {21654#(<= |main_#t~post7| 6)} assume !(#t~post7 < 100);havoc #t~post7; {21322#false} is VALID [2022-04-07 13:42:30,164 INFO L290 TraceCheckUtils]: 109: Hoare triple {21322#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; {21322#false} is VALID [2022-04-07 13:42:30,164 INFO L290 TraceCheckUtils]: 110: Hoare triple {21322#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21322#false} is VALID [2022-04-07 13:42:30,164 INFO L290 TraceCheckUtils]: 111: Hoare triple {21322#false} assume !(#t~post6 < 100);havoc #t~post6; {21322#false} is VALID [2022-04-07 13:42:30,164 INFO L272 TraceCheckUtils]: 112: Hoare triple {21322#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {21322#false} is VALID [2022-04-07 13:42:30,164 INFO L290 TraceCheckUtils]: 113: Hoare triple {21322#false} ~cond := #in~cond; {21322#false} is VALID [2022-04-07 13:42:30,164 INFO L290 TraceCheckUtils]: 114: Hoare triple {21322#false} assume 0 == ~cond; {21322#false} is VALID [2022-04-07 13:42:30,164 INFO L290 TraceCheckUtils]: 115: Hoare triple {21322#false} assume !false; {21322#false} is VALID [2022-04-07 13:42:30,165 INFO L134 CoverageAnalysis]: Checked inductivity of 357 backedges. 32 proven. 229 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-07 13:42:30,165 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:42:30,602 INFO L290 TraceCheckUtils]: 115: Hoare triple {21322#false} assume !false; {21322#false} is VALID [2022-04-07 13:42:30,602 INFO L290 TraceCheckUtils]: 114: Hoare triple {21322#false} assume 0 == ~cond; {21322#false} is VALID [2022-04-07 13:42:30,602 INFO L290 TraceCheckUtils]: 113: Hoare triple {21322#false} ~cond := #in~cond; {21322#false} is VALID [2022-04-07 13:42:30,602 INFO L272 TraceCheckUtils]: 112: Hoare triple {21322#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {21322#false} is VALID [2022-04-07 13:42:30,602 INFO L290 TraceCheckUtils]: 111: Hoare triple {21322#false} assume !(#t~post6 < 100);havoc #t~post6; {21322#false} is VALID [2022-04-07 13:42:30,602 INFO L290 TraceCheckUtils]: 110: Hoare triple {21322#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21322#false} is VALID [2022-04-07 13:42:30,602 INFO L290 TraceCheckUtils]: 109: Hoare triple {21322#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; {21322#false} is VALID [2022-04-07 13:42:30,603 INFO L290 TraceCheckUtils]: 108: Hoare triple {21700#(< |main_#t~post7| 100)} assume !(#t~post7 < 100);havoc #t~post7; {21322#false} is VALID [2022-04-07 13:42:30,603 INFO L290 TraceCheckUtils]: 107: Hoare triple {21704#(< ~counter~0 100)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {21700#(< |main_#t~post7| 100)} is VALID [2022-04-07 13:42:30,603 INFO L290 TraceCheckUtils]: 106: Hoare triple {21704#(< ~counter~0 100)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {21704#(< ~counter~0 100)} is VALID [2022-04-07 13:42:30,603 INFO L290 TraceCheckUtils]: 105: Hoare triple {21704#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {21704#(< ~counter~0 100)} is VALID [2022-04-07 13:42:30,607 INFO L290 TraceCheckUtils]: 104: Hoare triple {21714#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21704#(< ~counter~0 100)} is VALID [2022-04-07 13:42:30,607 INFO L290 TraceCheckUtils]: 103: Hoare triple {21714#(< ~counter~0 99)} ~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; {21714#(< ~counter~0 99)} is VALID [2022-04-07 13:42:30,607 INFO L290 TraceCheckUtils]: 102: Hoare triple {21714#(< ~counter~0 99)} assume !(~c~0 >= ~b~0); {21714#(< ~counter~0 99)} is VALID [2022-04-07 13:42:30,608 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {21321#true} {21714#(< ~counter~0 99)} #92#return; {21714#(< ~counter~0 99)} is VALID [2022-04-07 13:42:30,608 INFO L290 TraceCheckUtils]: 100: Hoare triple {21321#true} assume true; {21321#true} is VALID [2022-04-07 13:42:30,608 INFO L290 TraceCheckUtils]: 99: Hoare triple {21321#true} assume !(0 == ~cond); {21321#true} is VALID [2022-04-07 13:42:30,608 INFO L290 TraceCheckUtils]: 98: Hoare triple {21321#true} ~cond := #in~cond; {21321#true} is VALID [2022-04-07 13:42:30,608 INFO L272 TraceCheckUtils]: 97: Hoare triple {21714#(< ~counter~0 99)} 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)); {21321#true} is VALID [2022-04-07 13:42:30,609 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {21321#true} {21714#(< ~counter~0 99)} #90#return; {21714#(< ~counter~0 99)} is VALID [2022-04-07 13:42:30,609 INFO L290 TraceCheckUtils]: 95: Hoare triple {21321#true} assume true; {21321#true} is VALID [2022-04-07 13:42:30,609 INFO L290 TraceCheckUtils]: 94: Hoare triple {21321#true} assume !(0 == ~cond); {21321#true} is VALID [2022-04-07 13:42:30,609 INFO L290 TraceCheckUtils]: 93: Hoare triple {21321#true} ~cond := #in~cond; {21321#true} is VALID [2022-04-07 13:42:30,609 INFO L272 TraceCheckUtils]: 92: Hoare triple {21714#(< ~counter~0 99)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21321#true} is VALID [2022-04-07 13:42:30,609 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {21321#true} {21714#(< ~counter~0 99)} #88#return; {21714#(< ~counter~0 99)} is VALID [2022-04-07 13:42:30,609 INFO L290 TraceCheckUtils]: 90: Hoare triple {21321#true} assume true; {21321#true} is VALID [2022-04-07 13:42:30,610 INFO L290 TraceCheckUtils]: 89: Hoare triple {21321#true} assume !(0 == ~cond); {21321#true} is VALID [2022-04-07 13:42:30,610 INFO L290 TraceCheckUtils]: 88: Hoare triple {21321#true} ~cond := #in~cond; {21321#true} is VALID [2022-04-07 13:42:30,610 INFO L272 TraceCheckUtils]: 87: Hoare triple {21714#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21321#true} is VALID [2022-04-07 13:42:30,610 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {21321#true} {21714#(< ~counter~0 99)} #86#return; {21714#(< ~counter~0 99)} is VALID [2022-04-07 13:42:30,610 INFO L290 TraceCheckUtils]: 85: Hoare triple {21321#true} assume true; {21321#true} is VALID [2022-04-07 13:42:30,610 INFO L290 TraceCheckUtils]: 84: Hoare triple {21321#true} assume !(0 == ~cond); {21321#true} is VALID [2022-04-07 13:42:30,610 INFO L290 TraceCheckUtils]: 83: Hoare triple {21321#true} ~cond := #in~cond; {21321#true} is VALID [2022-04-07 13:42:30,610 INFO L272 TraceCheckUtils]: 82: Hoare triple {21714#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21321#true} is VALID [2022-04-07 13:42:30,610 INFO L290 TraceCheckUtils]: 81: Hoare triple {21714#(< ~counter~0 99)} assume !!(#t~post7 < 100);havoc #t~post7; {21714#(< ~counter~0 99)} is VALID [2022-04-07 13:42:30,611 INFO L290 TraceCheckUtils]: 80: Hoare triple {21787#(< ~counter~0 98)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {21714#(< ~counter~0 99)} is VALID [2022-04-07 13:42:30,611 INFO L290 TraceCheckUtils]: 79: Hoare triple {21787#(< ~counter~0 98)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {21787#(< ~counter~0 98)} is VALID [2022-04-07 13:42:30,612 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {21321#true} {21787#(< ~counter~0 98)} #92#return; {21787#(< ~counter~0 98)} is VALID [2022-04-07 13:42:30,612 INFO L290 TraceCheckUtils]: 77: Hoare triple {21321#true} assume true; {21321#true} is VALID [2022-04-07 13:42:30,612 INFO L290 TraceCheckUtils]: 76: Hoare triple {21321#true} assume !(0 == ~cond); {21321#true} is VALID [2022-04-07 13:42:30,612 INFO L290 TraceCheckUtils]: 75: Hoare triple {21321#true} ~cond := #in~cond; {21321#true} is VALID [2022-04-07 13:42:30,612 INFO L272 TraceCheckUtils]: 74: Hoare triple {21787#(< ~counter~0 98)} 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)); {21321#true} is VALID [2022-04-07 13:42:30,612 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {21321#true} {21787#(< ~counter~0 98)} #90#return; {21787#(< ~counter~0 98)} is VALID [2022-04-07 13:42:30,613 INFO L290 TraceCheckUtils]: 72: Hoare triple {21321#true} assume true; {21321#true} is VALID [2022-04-07 13:42:30,613 INFO L290 TraceCheckUtils]: 71: Hoare triple {21321#true} assume !(0 == ~cond); {21321#true} is VALID [2022-04-07 13:42:30,613 INFO L290 TraceCheckUtils]: 70: Hoare triple {21321#true} ~cond := #in~cond; {21321#true} is VALID [2022-04-07 13:42:30,613 INFO L272 TraceCheckUtils]: 69: Hoare triple {21787#(< ~counter~0 98)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21321#true} is VALID [2022-04-07 13:42:30,613 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {21321#true} {21787#(< ~counter~0 98)} #88#return; {21787#(< ~counter~0 98)} is VALID [2022-04-07 13:42:30,613 INFO L290 TraceCheckUtils]: 67: Hoare triple {21321#true} assume true; {21321#true} is VALID [2022-04-07 13:42:30,613 INFO L290 TraceCheckUtils]: 66: Hoare triple {21321#true} assume !(0 == ~cond); {21321#true} is VALID [2022-04-07 13:42:30,613 INFO L290 TraceCheckUtils]: 65: Hoare triple {21321#true} ~cond := #in~cond; {21321#true} is VALID [2022-04-07 13:42:30,613 INFO L272 TraceCheckUtils]: 64: Hoare triple {21787#(< ~counter~0 98)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21321#true} is VALID [2022-04-07 13:42:30,614 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {21321#true} {21787#(< ~counter~0 98)} #86#return; {21787#(< ~counter~0 98)} is VALID [2022-04-07 13:42:30,614 INFO L290 TraceCheckUtils]: 62: Hoare triple {21321#true} assume true; {21321#true} is VALID [2022-04-07 13:42:30,614 INFO L290 TraceCheckUtils]: 61: Hoare triple {21321#true} assume !(0 == ~cond); {21321#true} is VALID [2022-04-07 13:42:30,614 INFO L290 TraceCheckUtils]: 60: Hoare triple {21321#true} ~cond := #in~cond; {21321#true} is VALID [2022-04-07 13:42:30,614 INFO L272 TraceCheckUtils]: 59: Hoare triple {21787#(< ~counter~0 98)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21321#true} is VALID [2022-04-07 13:42:30,614 INFO L290 TraceCheckUtils]: 58: Hoare triple {21787#(< ~counter~0 98)} assume !!(#t~post7 < 100);havoc #t~post7; {21787#(< ~counter~0 98)} is VALID [2022-04-07 13:42:30,615 INFO L290 TraceCheckUtils]: 57: Hoare triple {21857#(< ~counter~0 97)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {21787#(< ~counter~0 98)} is VALID [2022-04-07 13:42:30,615 INFO L290 TraceCheckUtils]: 56: Hoare triple {21857#(< ~counter~0 97)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {21857#(< ~counter~0 97)} is VALID [2022-04-07 13:42:30,615 INFO L290 TraceCheckUtils]: 55: Hoare triple {21857#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {21857#(< ~counter~0 97)} is VALID [2022-04-07 13:42:30,616 INFO L290 TraceCheckUtils]: 54: Hoare triple {21867#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21857#(< ~counter~0 97)} is VALID [2022-04-07 13:42:30,616 INFO L290 TraceCheckUtils]: 53: Hoare triple {21867#(< ~counter~0 96)} ~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; {21867#(< ~counter~0 96)} is VALID [2022-04-07 13:42:30,616 INFO L290 TraceCheckUtils]: 52: Hoare triple {21867#(< ~counter~0 96)} assume !(~c~0 >= ~b~0); {21867#(< ~counter~0 96)} is VALID [2022-04-07 13:42:30,617 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {21321#true} {21867#(< ~counter~0 96)} #92#return; {21867#(< ~counter~0 96)} is VALID [2022-04-07 13:42:30,617 INFO L290 TraceCheckUtils]: 50: Hoare triple {21321#true} assume true; {21321#true} is VALID [2022-04-07 13:42:30,617 INFO L290 TraceCheckUtils]: 49: Hoare triple {21321#true} assume !(0 == ~cond); {21321#true} is VALID [2022-04-07 13:42:30,617 INFO L290 TraceCheckUtils]: 48: Hoare triple {21321#true} ~cond := #in~cond; {21321#true} is VALID [2022-04-07 13:42:30,617 INFO L272 TraceCheckUtils]: 47: Hoare triple {21867#(< ~counter~0 96)} 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)); {21321#true} is VALID [2022-04-07 13:42:30,622 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {21321#true} {21867#(< ~counter~0 96)} #90#return; {21867#(< ~counter~0 96)} is VALID [2022-04-07 13:42:30,623 INFO L290 TraceCheckUtils]: 45: Hoare triple {21321#true} assume true; {21321#true} is VALID [2022-04-07 13:42:30,623 INFO L290 TraceCheckUtils]: 44: Hoare triple {21321#true} assume !(0 == ~cond); {21321#true} is VALID [2022-04-07 13:42:30,623 INFO L290 TraceCheckUtils]: 43: Hoare triple {21321#true} ~cond := #in~cond; {21321#true} is VALID [2022-04-07 13:42:30,623 INFO L272 TraceCheckUtils]: 42: Hoare triple {21867#(< ~counter~0 96)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21321#true} is VALID [2022-04-07 13:42:30,623 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21321#true} {21867#(< ~counter~0 96)} #88#return; {21867#(< ~counter~0 96)} is VALID [2022-04-07 13:42:30,623 INFO L290 TraceCheckUtils]: 40: Hoare triple {21321#true} assume true; {21321#true} is VALID [2022-04-07 13:42:30,623 INFO L290 TraceCheckUtils]: 39: Hoare triple {21321#true} assume !(0 == ~cond); {21321#true} is VALID [2022-04-07 13:42:30,623 INFO L290 TraceCheckUtils]: 38: Hoare triple {21321#true} ~cond := #in~cond; {21321#true} is VALID [2022-04-07 13:42:30,623 INFO L272 TraceCheckUtils]: 37: Hoare triple {21867#(< ~counter~0 96)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21321#true} is VALID [2022-04-07 13:42:30,624 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {21321#true} {21867#(< ~counter~0 96)} #86#return; {21867#(< ~counter~0 96)} is VALID [2022-04-07 13:42:30,624 INFO L290 TraceCheckUtils]: 35: Hoare triple {21321#true} assume true; {21321#true} is VALID [2022-04-07 13:42:30,624 INFO L290 TraceCheckUtils]: 34: Hoare triple {21321#true} assume !(0 == ~cond); {21321#true} is VALID [2022-04-07 13:42:30,624 INFO L290 TraceCheckUtils]: 33: Hoare triple {21321#true} ~cond := #in~cond; {21321#true} is VALID [2022-04-07 13:42:30,624 INFO L272 TraceCheckUtils]: 32: Hoare triple {21867#(< ~counter~0 96)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21321#true} is VALID [2022-04-07 13:42:30,624 INFO L290 TraceCheckUtils]: 31: Hoare triple {21867#(< ~counter~0 96)} assume !!(#t~post7 < 100);havoc #t~post7; {21867#(< ~counter~0 96)} is VALID [2022-04-07 13:42:30,625 INFO L290 TraceCheckUtils]: 30: Hoare triple {21940#(< ~counter~0 95)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {21867#(< ~counter~0 96)} is VALID [2022-04-07 13:42:30,625 INFO L290 TraceCheckUtils]: 29: Hoare triple {21940#(< ~counter~0 95)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {21940#(< ~counter~0 95)} is VALID [2022-04-07 13:42:30,625 INFO L290 TraceCheckUtils]: 28: Hoare triple {21940#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {21940#(< ~counter~0 95)} is VALID [2022-04-07 13:42:30,626 INFO L290 TraceCheckUtils]: 27: Hoare triple {21950#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21940#(< ~counter~0 95)} is VALID [2022-04-07 13:42:30,626 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {21321#true} {21950#(< ~counter~0 94)} #84#return; {21950#(< ~counter~0 94)} is VALID [2022-04-07 13:42:30,626 INFO L290 TraceCheckUtils]: 25: Hoare triple {21321#true} assume true; {21321#true} is VALID [2022-04-07 13:42:30,626 INFO L290 TraceCheckUtils]: 24: Hoare triple {21321#true} assume !(0 == ~cond); {21321#true} is VALID [2022-04-07 13:42:30,626 INFO L290 TraceCheckUtils]: 23: Hoare triple {21321#true} ~cond := #in~cond; {21321#true} is VALID [2022-04-07 13:42:30,626 INFO L272 TraceCheckUtils]: 22: Hoare triple {21950#(< ~counter~0 94)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {21321#true} is VALID [2022-04-07 13:42:30,627 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {21321#true} {21950#(< ~counter~0 94)} #82#return; {21950#(< ~counter~0 94)} is VALID [2022-04-07 13:42:30,627 INFO L290 TraceCheckUtils]: 20: Hoare triple {21321#true} assume true; {21321#true} is VALID [2022-04-07 13:42:30,627 INFO L290 TraceCheckUtils]: 19: Hoare triple {21321#true} assume !(0 == ~cond); {21321#true} is VALID [2022-04-07 13:42:30,627 INFO L290 TraceCheckUtils]: 18: Hoare triple {21321#true} ~cond := #in~cond; {21321#true} is VALID [2022-04-07 13:42:30,627 INFO L272 TraceCheckUtils]: 17: Hoare triple {21950#(< ~counter~0 94)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {21321#true} is VALID [2022-04-07 13:42:30,627 INFO L290 TraceCheckUtils]: 16: Hoare triple {21950#(< ~counter~0 94)} ~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; {21950#(< ~counter~0 94)} is VALID [2022-04-07 13:42:30,628 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {21321#true} {21950#(< ~counter~0 94)} #80#return; {21950#(< ~counter~0 94)} is VALID [2022-04-07 13:42:30,628 INFO L290 TraceCheckUtils]: 14: Hoare triple {21321#true} assume true; {21321#true} is VALID [2022-04-07 13:42:30,628 INFO L290 TraceCheckUtils]: 13: Hoare triple {21321#true} assume !(0 == ~cond); {21321#true} is VALID [2022-04-07 13:42:30,628 INFO L290 TraceCheckUtils]: 12: Hoare triple {21321#true} ~cond := #in~cond; {21321#true} is VALID [2022-04-07 13:42:30,628 INFO L272 TraceCheckUtils]: 11: Hoare triple {21950#(< ~counter~0 94)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {21321#true} is VALID [2022-04-07 13:42:30,628 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21321#true} {21950#(< ~counter~0 94)} #78#return; {21950#(< ~counter~0 94)} is VALID [2022-04-07 13:42:30,628 INFO L290 TraceCheckUtils]: 9: Hoare triple {21321#true} assume true; {21321#true} is VALID [2022-04-07 13:42:30,628 INFO L290 TraceCheckUtils]: 8: Hoare triple {21321#true} assume !(0 == ~cond); {21321#true} is VALID [2022-04-07 13:42:30,628 INFO L290 TraceCheckUtils]: 7: Hoare triple {21321#true} ~cond := #in~cond; {21321#true} is VALID [2022-04-07 13:42:30,628 INFO L272 TraceCheckUtils]: 6: Hoare triple {21950#(< ~counter~0 94)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {21321#true} is VALID [2022-04-07 13:42:30,628 INFO L290 TraceCheckUtils]: 5: Hoare triple {21950#(< ~counter~0 94)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {21950#(< ~counter~0 94)} is VALID [2022-04-07 13:42:30,629 INFO L272 TraceCheckUtils]: 4: Hoare triple {21950#(< ~counter~0 94)} call #t~ret8 := main(); {21950#(< ~counter~0 94)} is VALID [2022-04-07 13:42:30,629 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21950#(< ~counter~0 94)} {21321#true} #98#return; {21950#(< ~counter~0 94)} is VALID [2022-04-07 13:42:30,629 INFO L290 TraceCheckUtils]: 2: Hoare triple {21950#(< ~counter~0 94)} assume true; {21950#(< ~counter~0 94)} is VALID [2022-04-07 13:42:30,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {21321#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);~counter~0 := 0; {21950#(< ~counter~0 94)} is VALID [2022-04-07 13:42:30,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {21321#true} call ULTIMATE.init(); {21321#true} is VALID [2022-04-07 13:42:30,630 INFO L134 CoverageAnalysis]: Checked inductivity of 357 backedges. 32 proven. 37 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-07 13:42:30,630 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:42:30,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [836337511] [2022-04-07 13:42:30,630 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:42:30,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [932167337] [2022-04-07 13:42:30,630 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [932167337] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:42:30,630 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:42:30,630 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-07 13:42:30,631 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1067730250] [2022-04-07 13:42:30,631 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:42:30,631 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 10 states have call successors, (36), 7 states have call predecessors, (36), 6 states have return successors, (34), 8 states have call predecessors, (34), 9 states have call successors, (34) Word has length 116 [2022-04-07 13:42:30,631 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:42:30,632 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 10 states have call successors, (36), 7 states have call predecessors, (36), 6 states have return successors, (34), 8 states have call predecessors, (34), 9 states have call successors, (34) [2022-04-07 13:42:30,761 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 146 edges. 146 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:42:30,761 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-07 13:42:30,762 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:42:30,762 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-07 13:42:30,762 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-07 13:42:30,762 INFO L87 Difference]: Start difference. First operand 387 states and 487 transitions. Second operand has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 10 states have call successors, (36), 7 states have call predecessors, (36), 6 states have return successors, (34), 8 states have call predecessors, (34), 9 states have call successors, (34) [2022-04-07 13:42:33,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:42:33,278 INFO L93 Difference]: Finished difference Result 1393 states and 1817 transitions. [2022-04-07 13:42:33,278 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-04-07 13:42:33,278 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 10 states have call successors, (36), 7 states have call predecessors, (36), 6 states have return successors, (34), 8 states have call predecessors, (34), 9 states have call successors, (34) Word has length 116 [2022-04-07 13:42:33,279 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:42:33,279 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 10 states have call successors, (36), 7 states have call predecessors, (36), 6 states have return successors, (34), 8 states have call predecessors, (34), 9 states have call successors, (34) [2022-04-07 13:42:33,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 344 transitions. [2022-04-07 13:42:33,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 10 states have call successors, (36), 7 states have call predecessors, (36), 6 states have return successors, (34), 8 states have call predecessors, (34), 9 states have call successors, (34) [2022-04-07 13:42:33,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 344 transitions. [2022-04-07 13:42:33,284 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 344 transitions. [2022-04-07 13:42:33,530 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 344 edges. 344 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:42:33,605 INFO L225 Difference]: With dead ends: 1393 [2022-04-07 13:42:33,605 INFO L226 Difference]: Without dead ends: 1260 [2022-04-07 13:42:33,606 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 243 GetRequests, 215 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=311, Invalid=559, Unknown=0, NotChecked=0, Total=870 [2022-04-07 13:42:33,606 INFO L913 BasicCegarLoop]: 90 mSDtfsCounter, 322 mSDsluCounter, 367 mSDsCounter, 0 mSdLazyCounter, 225 mSolverCounterSat, 230 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 322 SdHoareTripleChecker+Valid, 457 SdHoareTripleChecker+Invalid, 455 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 230 IncrementalHoareTripleChecker+Valid, 225 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-07 13:42:33,606 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [322 Valid, 457 Invalid, 455 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [230 Valid, 225 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-07 13:42:33,607 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1260 states. [2022-04-07 13:42:34,753 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1260 to 1202. [2022-04-07 13:42:34,753 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:42:34,755 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1260 states. Second operand has 1202 states, 771 states have (on average 1.1595330739299612) internal successors, (894), 782 states have internal predecessors, (894), 305 states have call successors, (305), 126 states have call predecessors, (305), 125 states have return successors, (296), 293 states have call predecessors, (296), 296 states have call successors, (296) [2022-04-07 13:42:34,756 INFO L74 IsIncluded]: Start isIncluded. First operand 1260 states. Second operand has 1202 states, 771 states have (on average 1.1595330739299612) internal successors, (894), 782 states have internal predecessors, (894), 305 states have call successors, (305), 126 states have call predecessors, (305), 125 states have return successors, (296), 293 states have call predecessors, (296), 296 states have call successors, (296) [2022-04-07 13:42:34,757 INFO L87 Difference]: Start difference. First operand 1260 states. Second operand has 1202 states, 771 states have (on average 1.1595330739299612) internal successors, (894), 782 states have internal predecessors, (894), 305 states have call successors, (305), 126 states have call predecessors, (305), 125 states have return successors, (296), 293 states have call predecessors, (296), 296 states have call successors, (296) [2022-04-07 13:42:34,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:42:34,800 INFO L93 Difference]: Finished difference Result 1260 states and 1555 transitions. [2022-04-07 13:42:34,800 INFO L276 IsEmpty]: Start isEmpty. Operand 1260 states and 1555 transitions. [2022-04-07 13:42:34,802 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:42:34,802 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:42:34,804 INFO L74 IsIncluded]: Start isIncluded. First operand has 1202 states, 771 states have (on average 1.1595330739299612) internal successors, (894), 782 states have internal predecessors, (894), 305 states have call successors, (305), 126 states have call predecessors, (305), 125 states have return successors, (296), 293 states have call predecessors, (296), 296 states have call successors, (296) Second operand 1260 states. [2022-04-07 13:42:34,805 INFO L87 Difference]: Start difference. First operand has 1202 states, 771 states have (on average 1.1595330739299612) internal successors, (894), 782 states have internal predecessors, (894), 305 states have call successors, (305), 126 states have call predecessors, (305), 125 states have return successors, (296), 293 states have call predecessors, (296), 296 states have call successors, (296) Second operand 1260 states. [2022-04-07 13:42:34,853 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:42:34,853 INFO L93 Difference]: Finished difference Result 1260 states and 1555 transitions. [2022-04-07 13:42:34,854 INFO L276 IsEmpty]: Start isEmpty. Operand 1260 states and 1555 transitions. [2022-04-07 13:42:34,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:42:34,856 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:42:34,856 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:42:34,856 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:42:34,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1202 states, 771 states have (on average 1.1595330739299612) internal successors, (894), 782 states have internal predecessors, (894), 305 states have call successors, (305), 126 states have call predecessors, (305), 125 states have return successors, (296), 293 states have call predecessors, (296), 296 states have call successors, (296) [2022-04-07 13:42:34,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1202 states to 1202 states and 1495 transitions. [2022-04-07 13:42:34,914 INFO L78 Accepts]: Start accepts. Automaton has 1202 states and 1495 transitions. Word has length 116 [2022-04-07 13:42:34,914 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:42:34,914 INFO L478 AbstractCegarLoop]: Abstraction has 1202 states and 1495 transitions. [2022-04-07 13:42:34,914 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 10 states have call successors, (36), 7 states have call predecessors, (36), 6 states have return successors, (34), 8 states have call predecessors, (34), 9 states have call successors, (34) [2022-04-07 13:42:34,915 INFO L276 IsEmpty]: Start isEmpty. Operand 1202 states and 1495 transitions. [2022-04-07 13:42:34,915 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 125 [2022-04-07 13:42:34,916 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:42:34,916 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 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] [2022-04-07 13:42:34,932 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Ended with exit code 0 [2022-04-07 13:42:35,132 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-07 13:42:35,132 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:42:35,133 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:42:35,133 INFO L85 PathProgramCache]: Analyzing trace with hash 992936989, now seen corresponding path program 2 times [2022-04-07 13:42:35,133 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:42:35,133 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2141461715] [2022-04-07 13:42:35,133 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:42:35,133 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:42:35,145 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:42:35,146 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1015844315] [2022-04-07 13:42:35,146 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 13:42:35,146 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:42:35,146 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:42:35,146 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:42:35,147 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-07 13:42:35,213 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 13:42:35,213 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 13:42:35,215 INFO L263 TraceCheckSpWp]: Trace formula consists of 320 conjuncts, 73 conjunts are in the unsatisfiable core [2022-04-07 13:42:35,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:42:35,238 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:42:52,294 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 13:42:54,867 INFO L272 TraceCheckUtils]: 0: Hoare triple {28359#true} call ULTIMATE.init(); {28359#true} is VALID [2022-04-07 13:42:54,867 INFO L290 TraceCheckUtils]: 1: Hoare triple {28359#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);~counter~0 := 0; {28359#true} is VALID [2022-04-07 13:42:54,868 INFO L290 TraceCheckUtils]: 2: Hoare triple {28359#true} assume true; {28359#true} is VALID [2022-04-07 13:42:54,868 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28359#true} {28359#true} #98#return; {28359#true} is VALID [2022-04-07 13:42:54,868 INFO L272 TraceCheckUtils]: 4: Hoare triple {28359#true} call #t~ret8 := main(); {28359#true} is VALID [2022-04-07 13:42:54,868 INFO L290 TraceCheckUtils]: 5: Hoare triple {28359#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {28359#true} is VALID [2022-04-07 13:42:54,868 INFO L272 TraceCheckUtils]: 6: Hoare triple {28359#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {28359#true} is VALID [2022-04-07 13:42:54,868 INFO L290 TraceCheckUtils]: 7: Hoare triple {28359#true} ~cond := #in~cond; {28359#true} is VALID [2022-04-07 13:42:54,868 INFO L290 TraceCheckUtils]: 8: Hoare triple {28359#true} assume !(0 == ~cond); {28359#true} is VALID [2022-04-07 13:42:54,868 INFO L290 TraceCheckUtils]: 9: Hoare triple {28359#true} assume true; {28359#true} is VALID [2022-04-07 13:42:54,868 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {28359#true} {28359#true} #78#return; {28359#true} is VALID [2022-04-07 13:42:54,868 INFO L272 TraceCheckUtils]: 11: Hoare triple {28359#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {28359#true} is VALID [2022-04-07 13:42:54,868 INFO L290 TraceCheckUtils]: 12: Hoare triple {28359#true} ~cond := #in~cond; {28400#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 13:42:54,868 INFO L290 TraceCheckUtils]: 13: Hoare triple {28400#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {28404#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:42:54,869 INFO L290 TraceCheckUtils]: 14: Hoare triple {28404#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {28404#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 13:42:54,869 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {28404#(not (= |assume_abort_if_not_#in~cond| 0))} {28359#true} #80#return; {28411#(<= 1 main_~y~0)} is VALID [2022-04-07 13:42:54,870 INFO L290 TraceCheckUtils]: 16: Hoare triple {28411#(<= 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; {28415#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,870 INFO L272 TraceCheckUtils]: 17: Hoare triple {28415#(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) (<= 1 main_~y~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)); {28359#true} is VALID [2022-04-07 13:42:54,870 INFO L290 TraceCheckUtils]: 18: Hoare triple {28359#true} ~cond := #in~cond; {28359#true} is VALID [2022-04-07 13:42:54,870 INFO L290 TraceCheckUtils]: 19: Hoare triple {28359#true} assume !(0 == ~cond); {28359#true} is VALID [2022-04-07 13:42:54,870 INFO L290 TraceCheckUtils]: 20: Hoare triple {28359#true} assume true; {28359#true} is VALID [2022-04-07 13:42:54,870 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {28359#true} {28415#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {28415#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,870 INFO L272 TraceCheckUtils]: 22: Hoare triple {28415#(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) (<= 1 main_~y~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)); {28359#true} is VALID [2022-04-07 13:42:54,870 INFO L290 TraceCheckUtils]: 23: Hoare triple {28359#true} ~cond := #in~cond; {28359#true} is VALID [2022-04-07 13:42:54,870 INFO L290 TraceCheckUtils]: 24: Hoare triple {28359#true} assume !(0 == ~cond); {28359#true} is VALID [2022-04-07 13:42:54,870 INFO L290 TraceCheckUtils]: 25: Hoare triple {28359#true} assume true; {28359#true} is VALID [2022-04-07 13:42:54,871 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {28359#true} {28415#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {28415#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,871 INFO L290 TraceCheckUtils]: 27: Hoare triple {28415#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {28415#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,872 INFO L290 TraceCheckUtils]: 28: Hoare triple {28415#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {28415#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,872 INFO L290 TraceCheckUtils]: 29: Hoare triple {28415#(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) (<= 1 main_~y~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; {28455#(and (= main_~r~0 0) (= main_~c~0 main_~a~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,873 INFO L290 TraceCheckUtils]: 30: Hoare triple {28455#(and (= main_~r~0 0) (= main_~c~0 main_~a~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {28455#(and (= main_~r~0 0) (= main_~c~0 main_~a~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,873 INFO L290 TraceCheckUtils]: 31: Hoare triple {28455#(and (= main_~r~0 0) (= main_~c~0 main_~a~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {28455#(and (= main_~r~0 0) (= main_~c~0 main_~a~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,873 INFO L272 TraceCheckUtils]: 32: Hoare triple {28455#(and (= main_~r~0 0) (= main_~c~0 main_~a~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) (<= 1 main_~y~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)); {28359#true} is VALID [2022-04-07 13:42:54,873 INFO L290 TraceCheckUtils]: 33: Hoare triple {28359#true} ~cond := #in~cond; {28359#true} is VALID [2022-04-07 13:42:54,873 INFO L290 TraceCheckUtils]: 34: Hoare triple {28359#true} assume !(0 == ~cond); {28359#true} is VALID [2022-04-07 13:42:54,873 INFO L290 TraceCheckUtils]: 35: Hoare triple {28359#true} assume true; {28359#true} is VALID [2022-04-07 13:42:54,874 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {28359#true} {28455#(and (= main_~r~0 0) (= main_~c~0 main_~a~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {28455#(and (= main_~r~0 0) (= main_~c~0 main_~a~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,874 INFO L272 TraceCheckUtils]: 37: Hoare triple {28455#(and (= main_~r~0 0) (= main_~c~0 main_~a~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) (<= 1 main_~y~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)); {28359#true} is VALID [2022-04-07 13:42:54,874 INFO L290 TraceCheckUtils]: 38: Hoare triple {28359#true} ~cond := #in~cond; {28359#true} is VALID [2022-04-07 13:42:54,874 INFO L290 TraceCheckUtils]: 39: Hoare triple {28359#true} assume !(0 == ~cond); {28359#true} is VALID [2022-04-07 13:42:54,874 INFO L290 TraceCheckUtils]: 40: Hoare triple {28359#true} assume true; {28359#true} is VALID [2022-04-07 13:42:54,882 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {28359#true} {28455#(and (= main_~r~0 0) (= main_~c~0 main_~a~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #88#return; {28455#(and (= main_~r~0 0) (= main_~c~0 main_~a~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,882 INFO L272 TraceCheckUtils]: 42: Hoare triple {28455#(and (= main_~r~0 0) (= main_~c~0 main_~a~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) (<= 1 main_~y~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)); {28359#true} is VALID [2022-04-07 13:42:54,882 INFO L290 TraceCheckUtils]: 43: Hoare triple {28359#true} ~cond := #in~cond; {28359#true} is VALID [2022-04-07 13:42:54,882 INFO L290 TraceCheckUtils]: 44: Hoare triple {28359#true} assume !(0 == ~cond); {28359#true} is VALID [2022-04-07 13:42:54,882 INFO L290 TraceCheckUtils]: 45: Hoare triple {28359#true} assume true; {28359#true} is VALID [2022-04-07 13:42:54,883 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {28359#true} {28455#(and (= main_~r~0 0) (= main_~c~0 main_~a~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #90#return; {28455#(and (= main_~r~0 0) (= main_~c~0 main_~a~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,884 INFO L272 TraceCheckUtils]: 47: Hoare triple {28455#(and (= main_~r~0 0) (= main_~c~0 main_~a~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) (<= 1 main_~y~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)); {28359#true} is VALID [2022-04-07 13:42:54,884 INFO L290 TraceCheckUtils]: 48: Hoare triple {28359#true} ~cond := #in~cond; {28359#true} is VALID [2022-04-07 13:42:54,884 INFO L290 TraceCheckUtils]: 49: Hoare triple {28359#true} assume !(0 == ~cond); {28359#true} is VALID [2022-04-07 13:42:54,884 INFO L290 TraceCheckUtils]: 50: Hoare triple {28359#true} assume true; {28359#true} is VALID [2022-04-07 13:42:54,884 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {28359#true} {28455#(and (= main_~r~0 0) (= main_~c~0 main_~a~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #92#return; {28455#(and (= main_~r~0 0) (= main_~c~0 main_~a~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,886 INFO L290 TraceCheckUtils]: 52: Hoare triple {28455#(and (= main_~r~0 0) (= main_~c~0 main_~a~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) (<= 1 main_~y~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; {28525#(and (= main_~r~0 0) (<= 1 main_~k~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,886 INFO L290 TraceCheckUtils]: 53: Hoare triple {28525#(and (= main_~r~0 0) (<= 1 main_~k~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {28525#(and (= main_~r~0 0) (<= 1 main_~k~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,887 INFO L290 TraceCheckUtils]: 54: Hoare triple {28525#(and (= main_~r~0 0) (<= 1 main_~k~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {28525#(and (= main_~r~0 0) (<= 1 main_~k~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,887 INFO L272 TraceCheckUtils]: 55: Hoare triple {28525#(and (= main_~r~0 0) (<= 1 main_~k~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) (<= 1 main_~y~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)); {28359#true} is VALID [2022-04-07 13:42:54,887 INFO L290 TraceCheckUtils]: 56: Hoare triple {28359#true} ~cond := #in~cond; {28538#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:42:54,887 INFO L290 TraceCheckUtils]: 57: Hoare triple {28538#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:42:54,888 INFO L290 TraceCheckUtils]: 58: Hoare triple {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:42:54,888 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} {28525#(and (= main_~r~0 0) (<= 1 main_~k~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {28549#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,889 INFO L272 TraceCheckUtils]: 60: Hoare triple {28549#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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) (<= 1 main_~y~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)); {28359#true} is VALID [2022-04-07 13:42:54,889 INFO L290 TraceCheckUtils]: 61: Hoare triple {28359#true} ~cond := #in~cond; {28359#true} is VALID [2022-04-07 13:42:54,889 INFO L290 TraceCheckUtils]: 62: Hoare triple {28359#true} assume !(0 == ~cond); {28359#true} is VALID [2022-04-07 13:42:54,889 INFO L290 TraceCheckUtils]: 63: Hoare triple {28359#true} assume true; {28359#true} is VALID [2022-04-07 13:42:54,889 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {28359#true} {28549#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #88#return; {28549#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,889 INFO L272 TraceCheckUtils]: 65: Hoare triple {28549#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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) (<= 1 main_~y~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)); {28359#true} is VALID [2022-04-07 13:42:54,889 INFO L290 TraceCheckUtils]: 66: Hoare triple {28359#true} ~cond := #in~cond; {28359#true} is VALID [2022-04-07 13:42:54,889 INFO L290 TraceCheckUtils]: 67: Hoare triple {28359#true} assume !(0 == ~cond); {28359#true} is VALID [2022-04-07 13:42:54,889 INFO L290 TraceCheckUtils]: 68: Hoare triple {28359#true} assume true; {28359#true} is VALID [2022-04-07 13:42:54,890 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {28359#true} {28549#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #90#return; {28549#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,890 INFO L272 TraceCheckUtils]: 70: Hoare triple {28549#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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) (<= 1 main_~y~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)); {28359#true} is VALID [2022-04-07 13:42:54,890 INFO L290 TraceCheckUtils]: 71: Hoare triple {28359#true} ~cond := #in~cond; {28359#true} is VALID [2022-04-07 13:42:54,890 INFO L290 TraceCheckUtils]: 72: Hoare triple {28359#true} assume !(0 == ~cond); {28359#true} is VALID [2022-04-07 13:42:54,890 INFO L290 TraceCheckUtils]: 73: Hoare triple {28359#true} assume true; {28359#true} is VALID [2022-04-07 13:42:54,891 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {28359#true} {28549#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #92#return; {28549#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,893 INFO L290 TraceCheckUtils]: 75: Hoare triple {28549#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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) (<= 1 main_~y~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; {28598#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= (+ (div (+ (* (- 1) main_~c~0) main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 1) main_~k~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,893 INFO L290 TraceCheckUtils]: 76: Hoare triple {28598#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= (+ (div (+ (* (- 1) main_~c~0) main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 1) main_~k~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {28598#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= (+ (div (+ (* (- 1) main_~c~0) main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 1) main_~k~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,894 INFO L290 TraceCheckUtils]: 77: Hoare triple {28598#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= (+ (div (+ (* (- 1) main_~c~0) main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 1) main_~k~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {28598#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= (+ (div (+ (* (- 1) main_~c~0) main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 1) main_~k~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,894 INFO L272 TraceCheckUtils]: 78: Hoare triple {28598#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= (+ (div (+ (* (- 1) main_~c~0) main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 1) main_~k~0) (= main_~q~0 0) (<= 1 main_~y~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)); {28359#true} is VALID [2022-04-07 13:42:54,894 INFO L290 TraceCheckUtils]: 79: Hoare triple {28359#true} ~cond := #in~cond; {28538#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:42:54,894 INFO L290 TraceCheckUtils]: 80: Hoare triple {28538#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:42:54,895 INFO L290 TraceCheckUtils]: 81: Hoare triple {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:42:54,896 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} {28598#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= (+ (div (+ (* (- 1) main_~c~0) main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 1) main_~k~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {28620#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,896 INFO L272 TraceCheckUtils]: 83: Hoare triple {28620#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~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)); {28359#true} is VALID [2022-04-07 13:42:54,896 INFO L290 TraceCheckUtils]: 84: Hoare triple {28359#true} ~cond := #in~cond; {28359#true} is VALID [2022-04-07 13:42:54,897 INFO L290 TraceCheckUtils]: 85: Hoare triple {28359#true} assume !(0 == ~cond); {28359#true} is VALID [2022-04-07 13:42:54,897 INFO L290 TraceCheckUtils]: 86: Hoare triple {28359#true} assume true; {28359#true} is VALID [2022-04-07 13:42:54,897 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {28359#true} {28620#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #88#return; {28620#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,897 INFO L272 TraceCheckUtils]: 88: Hoare triple {28620#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~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)); {28359#true} is VALID [2022-04-07 13:42:54,897 INFO L290 TraceCheckUtils]: 89: Hoare triple {28359#true} ~cond := #in~cond; {28538#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:42:54,898 INFO L290 TraceCheckUtils]: 90: Hoare triple {28538#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:42:54,898 INFO L290 TraceCheckUtils]: 91: Hoare triple {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:42:54,899 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} {28620#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #90#return; {28620#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,899 INFO L272 TraceCheckUtils]: 93: Hoare triple {28620#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~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)); {28359#true} is VALID [2022-04-07 13:42:54,899 INFO L290 TraceCheckUtils]: 94: Hoare triple {28359#true} ~cond := #in~cond; {28538#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:42:54,899 INFO L290 TraceCheckUtils]: 95: Hoare triple {28538#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:42:54,899 INFO L290 TraceCheckUtils]: 96: Hoare triple {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:42:54,900 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} {28620#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #92#return; {28620#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-07 13:42:54,901 INFO L290 TraceCheckUtils]: 98: Hoare triple {28620#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {28669#(and (= main_~r~0 0) (< main_~c~0 main_~y~0) (= main_~s~0 1) (<= 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_~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-07 13:42:54,902 INFO L290 TraceCheckUtils]: 99: Hoare triple {28669#(and (= main_~r~0 0) (< main_~c~0 main_~y~0) (= main_~s~0 1) (<= 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_~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; {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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-07 13:42:54,903 INFO L290 TraceCheckUtils]: 100: Hoare triple {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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-07 13:42:54,903 INFO L290 TraceCheckUtils]: 101: Hoare triple {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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 !!(#t~post6 < 100);havoc #t~post6; {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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-07 13:42:54,904 INFO L290 TraceCheckUtils]: 102: Hoare triple {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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; {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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-07 13:42:54,904 INFO L290 TraceCheckUtils]: 103: Hoare triple {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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-07 13:42:54,905 INFO L290 TraceCheckUtils]: 104: Hoare triple {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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 !!(#t~post7 < 100);havoc #t~post7; {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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-07 13:42:54,905 INFO L272 TraceCheckUtils]: 105: Hoare triple {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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)); {28359#true} is VALID [2022-04-07 13:42:54,905 INFO L290 TraceCheckUtils]: 106: Hoare triple {28359#true} ~cond := #in~cond; {28359#true} is VALID [2022-04-07 13:42:54,905 INFO L290 TraceCheckUtils]: 107: Hoare triple {28359#true} assume !(0 == ~cond); {28359#true} is VALID [2022-04-07 13:42:54,905 INFO L290 TraceCheckUtils]: 108: Hoare triple {28359#true} assume true; {28359#true} is VALID [2022-04-07 13:42:54,906 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {28359#true} {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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)))} #86#return; {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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-07 13:42:54,906 INFO L272 TraceCheckUtils]: 110: Hoare triple {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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)); {28359#true} is VALID [2022-04-07 13:42:54,906 INFO L290 TraceCheckUtils]: 111: Hoare triple {28359#true} ~cond := #in~cond; {28359#true} is VALID [2022-04-07 13:42:54,906 INFO L290 TraceCheckUtils]: 112: Hoare triple {28359#true} assume !(0 == ~cond); {28359#true} is VALID [2022-04-07 13:42:54,906 INFO L290 TraceCheckUtils]: 113: Hoare triple {28359#true} assume true; {28359#true} is VALID [2022-04-07 13:42:54,906 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {28359#true} {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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)))} #88#return; {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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-07 13:42:54,906 INFO L272 TraceCheckUtils]: 115: Hoare triple {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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)); {28359#true} is VALID [2022-04-07 13:42:54,907 INFO L290 TraceCheckUtils]: 116: Hoare triple {28359#true} ~cond := #in~cond; {28538#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:42:54,907 INFO L290 TraceCheckUtils]: 117: Hoare triple {28538#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:42:54,907 INFO L290 TraceCheckUtils]: 118: Hoare triple {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:42:54,908 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {28542#(not (= |__VERIFIER_assert_#in~cond| 0))} {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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)))} #90#return; {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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-07 13:42:54,910 INFO L272 TraceCheckUtils]: 120: Hoare triple {28673#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~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)); {28737#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:42:54,910 INFO L290 TraceCheckUtils]: 121: Hoare triple {28737#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {28741#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:42:54,910 INFO L290 TraceCheckUtils]: 122: Hoare triple {28741#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {28360#false} is VALID [2022-04-07 13:42:54,910 INFO L290 TraceCheckUtils]: 123: Hoare triple {28360#false} assume !false; {28360#false} is VALID [2022-04-07 13:42:54,911 INFO L134 CoverageAnalysis]: Checked inductivity of 516 backedges. 139 proven. 92 refuted. 0 times theorem prover too weak. 285 trivial. 0 not checked. [2022-04-07 13:42:54,911 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:45:06,206 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:45:06,206 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2141461715] [2022-04-07 13:45:06,206 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:45:06,206 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1015844315] [2022-04-07 13:45:06,206 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1015844315] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 13:45:06,206 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-07 13:45:06,206 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2022-04-07 13:45:06,206 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1739427739] [2022-04-07 13:45:06,206 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-07 13:45:06,208 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.176470588235294) internal successors, (37), 13 states have internal predecessors, (37), 8 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 8 states have call successors, (20) Word has length 124 [2022-04-07 13:45:06,209 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:45:06,209 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 2.176470588235294) internal successors, (37), 13 states have internal predecessors, (37), 8 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 8 states have call successors, (20) [2022-04-07 13:45:06,301 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:45:06,301 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-07 13:45:06,301 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:45:06,301 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-07 13:45:06,302 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=140, Invalid=510, Unknown=0, NotChecked=0, Total=650 [2022-04-07 13:45:06,302 INFO L87 Difference]: Start difference. First operand 1202 states and 1495 transitions. Second operand has 17 states, 17 states have (on average 2.176470588235294) internal successors, (37), 13 states have internal predecessors, (37), 8 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 8 states have call successors, (20) [2022-04-07 13:45:24,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:45:24,421 INFO L93 Difference]: Finished difference Result 1331 states and 1650 transitions. [2022-04-07 13:45:24,421 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-07 13:45:24,421 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.176470588235294) internal successors, (37), 13 states have internal predecessors, (37), 8 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 8 states have call successors, (20) Word has length 124 [2022-04-07 13:45:24,422 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:45:24,422 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.176470588235294) internal successors, (37), 13 states have internal predecessors, (37), 8 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 8 states have call successors, (20) [2022-04-07 13:45:24,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 121 transitions. [2022-04-07 13:45:24,423 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.176470588235294) internal successors, (37), 13 states have internal predecessors, (37), 8 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 8 states have call successors, (20) [2022-04-07 13:45:24,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 121 transitions. [2022-04-07 13:45:24,424 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 121 transitions. [2022-04-07 13:45:24,573 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:45:24,649 INFO L225 Difference]: With dead ends: 1331 [2022-04-07 13:45:24,649 INFO L226 Difference]: Without dead ends: 1329 [2022-04-07 13:45:24,650 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 178 GetRequests, 147 SyntacticMatches, 2 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 219 ImplicationChecksByTransitivity, 11.6s TimeCoverageRelationStatistics Valid=187, Invalid=743, Unknown=0, NotChecked=0, Total=930 [2022-04-07 13:45:24,650 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 51 mSDsluCounter, 278 mSDsCounter, 0 mSdLazyCounter, 756 mSolverCounterSat, 57 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 326 SdHoareTripleChecker+Invalid, 813 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 57 IncrementalHoareTripleChecker+Valid, 756 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.8s IncrementalHoareTripleChecker+Time [2022-04-07 13:45:24,650 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [60 Valid, 326 Invalid, 813 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [57 Valid, 756 Invalid, 0 Unknown, 0 Unchecked, 5.8s Time] [2022-04-07 13:45:24,651 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1329 states. [2022-04-07 13:45:25,869 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1329 to 1321. [2022-04-07 13:45:25,870 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:45:25,871 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1329 states. Second operand has 1321 states, 845 states have (on average 1.1538461538461537) internal successors, (975), 856 states have internal predecessors, (975), 333 states have call successors, (333), 143 states have call predecessors, (333), 142 states have return successors, (324), 321 states have call predecessors, (324), 324 states have call successors, (324) [2022-04-07 13:45:25,872 INFO L74 IsIncluded]: Start isIncluded. First operand 1329 states. Second operand has 1321 states, 845 states have (on average 1.1538461538461537) internal successors, (975), 856 states have internal predecessors, (975), 333 states have call successors, (333), 143 states have call predecessors, (333), 142 states have return successors, (324), 321 states have call predecessors, (324), 324 states have call successors, (324) [2022-04-07 13:45:25,873 INFO L87 Difference]: Start difference. First operand 1329 states. Second operand has 1321 states, 845 states have (on average 1.1538461538461537) internal successors, (975), 856 states have internal predecessors, (975), 333 states have call successors, (333), 143 states have call predecessors, (333), 142 states have return successors, (324), 321 states have call predecessors, (324), 324 states have call successors, (324) [2022-04-07 13:45:25,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:45:25,919 INFO L93 Difference]: Finished difference Result 1329 states and 1640 transitions. [2022-04-07 13:45:25,920 INFO L276 IsEmpty]: Start isEmpty. Operand 1329 states and 1640 transitions. [2022-04-07 13:45:25,923 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:45:25,923 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:45:25,925 INFO L74 IsIncluded]: Start isIncluded. First operand has 1321 states, 845 states have (on average 1.1538461538461537) internal successors, (975), 856 states have internal predecessors, (975), 333 states have call successors, (333), 143 states have call predecessors, (333), 142 states have return successors, (324), 321 states have call predecessors, (324), 324 states have call successors, (324) Second operand 1329 states. [2022-04-07 13:45:25,926 INFO L87 Difference]: Start difference. First operand has 1321 states, 845 states have (on average 1.1538461538461537) internal successors, (975), 856 states have internal predecessors, (975), 333 states have call successors, (333), 143 states have call predecessors, (333), 142 states have return successors, (324), 321 states have call predecessors, (324), 324 states have call successors, (324) Second operand 1329 states. [2022-04-07 13:45:25,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:45:25,973 INFO L93 Difference]: Finished difference Result 1329 states and 1640 transitions. [2022-04-07 13:45:25,973 INFO L276 IsEmpty]: Start isEmpty. Operand 1329 states and 1640 transitions. [2022-04-07 13:45:25,976 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:45:25,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:45:25,976 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:45:25,976 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:45:25,978 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1321 states, 845 states have (on average 1.1538461538461537) internal successors, (975), 856 states have internal predecessors, (975), 333 states have call successors, (333), 143 states have call predecessors, (333), 142 states have return successors, (324), 321 states have call predecessors, (324), 324 states have call successors, (324) [2022-04-07 13:45:26,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1321 states to 1321 states and 1632 transitions. [2022-04-07 13:45:26,045 INFO L78 Accepts]: Start accepts. Automaton has 1321 states and 1632 transitions. Word has length 124 [2022-04-07 13:45:26,045 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:45:26,045 INFO L478 AbstractCegarLoop]: Abstraction has 1321 states and 1632 transitions. [2022-04-07 13:45:26,045 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 2.176470588235294) internal successors, (37), 13 states have internal predecessors, (37), 8 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 8 states have call successors, (20) [2022-04-07 13:45:26,045 INFO L276 IsEmpty]: Start isEmpty. Operand 1321 states and 1632 transitions. [2022-04-07 13:45:26,046 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 129 [2022-04-07 13:45:26,046 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:45:26,047 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:45:26,069 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-07 13:45:26,256 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:45:26,256 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:45:26,256 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:45:26,256 INFO L85 PathProgramCache]: Analyzing trace with hash -270396677, now seen corresponding path program 3 times [2022-04-07 13:45:26,256 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:45:26,256 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1927475783] [2022-04-07 13:45:26,256 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:45:26,257 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:45:26,271 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:45:26,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1593830993] [2022-04-07 13:45:26,272 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-07 13:45:26,272 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:45:26,272 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:45:26,275 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:45:26,278 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-07 13:45:26,354 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-04-07 13:45:26,355 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 13:45:26,356 INFO L263 TraceCheckSpWp]: Trace formula consists of 250 conjuncts, 67 conjunts are in the unsatisfiable core [2022-04-07 13:45:26,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:45:26,375 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:45:27,805 INFO L272 TraceCheckUtils]: 0: Hoare triple {35438#true} call ULTIMATE.init(); {35438#true} is VALID [2022-04-07 13:45:27,805 INFO L290 TraceCheckUtils]: 1: Hoare triple {35438#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);~counter~0 := 0; {35438#true} is VALID [2022-04-07 13:45:27,805 INFO L290 TraceCheckUtils]: 2: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:45:27,805 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35438#true} {35438#true} #98#return; {35438#true} is VALID [2022-04-07 13:45:27,805 INFO L272 TraceCheckUtils]: 4: Hoare triple {35438#true} call #t~ret8 := main(); {35438#true} is VALID [2022-04-07 13:45:27,806 INFO L290 TraceCheckUtils]: 5: Hoare triple {35438#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35438#true} is VALID [2022-04-07 13:45:27,806 INFO L272 TraceCheckUtils]: 6: Hoare triple {35438#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {35438#true} is VALID [2022-04-07 13:45:27,806 INFO L290 TraceCheckUtils]: 7: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:45:27,811 INFO L290 TraceCheckUtils]: 8: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:45:27,811 INFO L290 TraceCheckUtils]: 9: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:45:27,811 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35438#true} {35438#true} #78#return; {35438#true} is VALID [2022-04-07 13:45:27,811 INFO L272 TraceCheckUtils]: 11: Hoare triple {35438#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {35438#true} is VALID [2022-04-07 13:45:27,811 INFO L290 TraceCheckUtils]: 12: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:45:27,811 INFO L290 TraceCheckUtils]: 13: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:45:27,811 INFO L290 TraceCheckUtils]: 14: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:45:27,811 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {35438#true} {35438#true} #80#return; {35438#true} is VALID [2022-04-07 13:45:27,812 INFO L290 TraceCheckUtils]: 16: Hoare triple {35438#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; {35491#(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-07 13:45:27,813 INFO L272 TraceCheckUtils]: 17: Hoare triple {35491#(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)); {35438#true} is VALID [2022-04-07 13:45:27,813 INFO L290 TraceCheckUtils]: 18: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:45:27,813 INFO L290 TraceCheckUtils]: 19: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:45:27,813 INFO L290 TraceCheckUtils]: 20: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:45:27,813 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {35438#true} {35491#(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))} #82#return; {35491#(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-07 13:45:27,813 INFO L272 TraceCheckUtils]: 22: Hoare triple {35491#(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)); {35438#true} is VALID [2022-04-07 13:45:27,813 INFO L290 TraceCheckUtils]: 23: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:45:27,814 INFO L290 TraceCheckUtils]: 24: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:45:27,814 INFO L290 TraceCheckUtils]: 25: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:45:27,814 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {35438#true} {35491#(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))} #84#return; {35491#(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-07 13:45:27,815 INFO L290 TraceCheckUtils]: 27: Hoare triple {35491#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35491#(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-07 13:45:27,815 INFO L290 TraceCheckUtils]: 28: Hoare triple {35491#(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 !!(#t~post6 < 100);havoc #t~post6; {35491#(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-07 13:45:27,815 INFO L290 TraceCheckUtils]: 29: Hoare triple {35491#(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; {35531#(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-07 13:45:27,816 INFO L290 TraceCheckUtils]: 30: Hoare triple {35531#(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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35531#(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-07 13:45:27,816 INFO L290 TraceCheckUtils]: 31: Hoare triple {35531#(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 !!(#t~post7 < 100);havoc #t~post7; {35531#(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-07 13:45:27,816 INFO L272 TraceCheckUtils]: 32: Hoare triple {35531#(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)); {35438#true} is VALID [2022-04-07 13:45:27,816 INFO L290 TraceCheckUtils]: 33: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:45:27,816 INFO L290 TraceCheckUtils]: 34: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:45:27,816 INFO L290 TraceCheckUtils]: 35: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:45:27,817 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {35438#true} {35531#(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))} #86#return; {35531#(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-07 13:45:27,817 INFO L272 TraceCheckUtils]: 37: Hoare triple {35531#(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)); {35438#true} is VALID [2022-04-07 13:45:27,817 INFO L290 TraceCheckUtils]: 38: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:45:27,817 INFO L290 TraceCheckUtils]: 39: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:45:27,817 INFO L290 TraceCheckUtils]: 40: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:45:27,818 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {35438#true} {35531#(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))} #88#return; {35531#(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-07 13:45:27,818 INFO L272 TraceCheckUtils]: 42: Hoare triple {35531#(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)); {35438#true} is VALID [2022-04-07 13:45:27,818 INFO L290 TraceCheckUtils]: 43: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:45:27,818 INFO L290 TraceCheckUtils]: 44: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:45:27,818 INFO L290 TraceCheckUtils]: 45: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:45:27,819 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {35438#true} {35531#(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))} #90#return; {35531#(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-07 13:45:27,819 INFO L272 TraceCheckUtils]: 47: Hoare triple {35531#(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)); {35438#true} is VALID [2022-04-07 13:45:27,819 INFO L290 TraceCheckUtils]: 48: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:45:27,819 INFO L290 TraceCheckUtils]: 49: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:45:27,819 INFO L290 TraceCheckUtils]: 50: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:45:27,820 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {35438#true} {35531#(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))} #92#return; {35531#(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-07 13:45:27,820 INFO L290 TraceCheckUtils]: 52: Hoare triple {35531#(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); {35531#(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-07 13:45:27,821 INFO L290 TraceCheckUtils]: 53: Hoare triple {35531#(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; {35604#(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-07 13:45:27,821 INFO L290 TraceCheckUtils]: 54: Hoare triple {35604#(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)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35604#(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-07 13:45:27,821 INFO L290 TraceCheckUtils]: 55: Hoare triple {35604#(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 !!(#t~post6 < 100);havoc #t~post6; {35604#(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-07 13:45:27,822 INFO L290 TraceCheckUtils]: 56: Hoare triple {35604#(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; {35614#(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-07 13:45:27,822 INFO L290 TraceCheckUtils]: 57: Hoare triple {35614#(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)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35614#(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-07 13:45:27,823 INFO L290 TraceCheckUtils]: 58: Hoare triple {35614#(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 !!(#t~post7 < 100);havoc #t~post7; {35614#(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-07 13:45:27,823 INFO L272 TraceCheckUtils]: 59: Hoare triple {35614#(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)); {35438#true} is VALID [2022-04-07 13:45:27,823 INFO L290 TraceCheckUtils]: 60: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:45:27,823 INFO L290 TraceCheckUtils]: 61: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:45:27,823 INFO L290 TraceCheckUtils]: 62: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:45:27,824 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {35438#true} {35614#(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)))} #86#return; {35614#(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-07 13:45:27,824 INFO L272 TraceCheckUtils]: 64: Hoare triple {35614#(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)); {35438#true} is VALID [2022-04-07 13:45:27,824 INFO L290 TraceCheckUtils]: 65: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:45:27,824 INFO L290 TraceCheckUtils]: 66: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:45:27,824 INFO L290 TraceCheckUtils]: 67: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:45:27,824 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {35438#true} {35614#(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)))} #88#return; {35614#(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-07 13:45:27,824 INFO L272 TraceCheckUtils]: 69: Hoare triple {35614#(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)); {35438#true} is VALID [2022-04-07 13:45:27,825 INFO L290 TraceCheckUtils]: 70: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:45:27,825 INFO L290 TraceCheckUtils]: 71: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:45:27,825 INFO L290 TraceCheckUtils]: 72: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:45:27,825 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {35438#true} {35614#(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)))} #90#return; {35614#(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-07 13:45:27,825 INFO L272 TraceCheckUtils]: 74: Hoare triple {35614#(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)); {35438#true} is VALID [2022-04-07 13:45:27,825 INFO L290 TraceCheckUtils]: 75: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:45:27,825 INFO L290 TraceCheckUtils]: 76: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:45:27,825 INFO L290 TraceCheckUtils]: 77: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:45:27,826 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {35438#true} {35614#(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)))} #92#return; {35614#(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-07 13:45:27,827 INFO L290 TraceCheckUtils]: 79: Hoare triple {35614#(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; {35684#(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-07 13:45:27,827 INFO L290 TraceCheckUtils]: 80: Hoare triple {35684#(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)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35684#(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-07 13:45:27,827 INFO L290 TraceCheckUtils]: 81: Hoare triple {35684#(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 !!(#t~post7 < 100);havoc #t~post7; {35684#(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-07 13:45:27,828 INFO L272 TraceCheckUtils]: 82: Hoare triple {35684#(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)); {35438#true} is VALID [2022-04-07 13:45:27,828 INFO L290 TraceCheckUtils]: 83: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:45:27,828 INFO L290 TraceCheckUtils]: 84: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:45:27,828 INFO L290 TraceCheckUtils]: 85: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:45:27,828 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {35438#true} {35684#(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)))} #86#return; {35684#(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-07 13:45:27,828 INFO L272 TraceCheckUtils]: 87: Hoare triple {35684#(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)); {35438#true} is VALID [2022-04-07 13:45:27,828 INFO L290 TraceCheckUtils]: 88: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:45:27,829 INFO L290 TraceCheckUtils]: 89: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:45:27,829 INFO L290 TraceCheckUtils]: 90: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:45:27,829 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {35438#true} {35684#(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)))} #88#return; {35684#(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-07 13:45:27,829 INFO L272 TraceCheckUtils]: 92: Hoare triple {35684#(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)); {35438#true} is VALID [2022-04-07 13:45:27,829 INFO L290 TraceCheckUtils]: 93: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:45:27,829 INFO L290 TraceCheckUtils]: 94: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:45:27,829 INFO L290 TraceCheckUtils]: 95: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:45:27,830 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {35438#true} {35684#(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)))} #90#return; {35684#(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-07 13:45:27,830 INFO L272 TraceCheckUtils]: 97: Hoare triple {35684#(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)); {35438#true} is VALID [2022-04-07 13:45:27,830 INFO L290 TraceCheckUtils]: 98: Hoare triple {35438#true} ~cond := #in~cond; {35742#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:45:27,831 INFO L290 TraceCheckUtils]: 99: Hoare triple {35742#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {35746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:45:27,831 INFO L290 TraceCheckUtils]: 100: Hoare triple {35746#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:45:27,833 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {35746#(not (= |__VERIFIER_assert_#in~cond| 0))} {35684#(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)))} #92#return; {35753#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= 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)))} is VALID [2022-04-07 13:45:27,833 INFO L290 TraceCheckUtils]: 102: Hoare triple {35753#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= 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)))} assume !(~c~0 >= ~b~0); {35753#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= 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)))} is VALID [2022-04-07 13:45:27,834 INFO L290 TraceCheckUtils]: 103: Hoare triple {35753#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= 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)))} ~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; {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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-07 13:45:27,834 INFO L290 TraceCheckUtils]: 104: Hoare triple {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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-07 13:45:27,834 INFO L290 TraceCheckUtils]: 105: Hoare triple {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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 !!(#t~post6 < 100);havoc #t~post6; {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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-07 13:45:27,835 INFO L290 TraceCheckUtils]: 106: Hoare triple {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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 !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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-07 13:45:27,835 INFO L290 TraceCheckUtils]: 107: Hoare triple {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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-07 13:45:27,836 INFO L290 TraceCheckUtils]: 108: Hoare triple {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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 !!(#t~post7 < 100);havoc #t~post7; {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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-07 13:45:27,836 INFO L272 TraceCheckUtils]: 109: Hoare triple {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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)); {35438#true} is VALID [2022-04-07 13:45:27,836 INFO L290 TraceCheckUtils]: 110: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:45:27,836 INFO L290 TraceCheckUtils]: 111: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:45:27,836 INFO L290 TraceCheckUtils]: 112: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:45:27,836 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {35438#true} {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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)))} #86#return; {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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-07 13:45:27,836 INFO L272 TraceCheckUtils]: 114: Hoare triple {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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)); {35438#true} is VALID [2022-04-07 13:45:27,837 INFO L290 TraceCheckUtils]: 115: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:45:27,837 INFO L290 TraceCheckUtils]: 116: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:45:27,837 INFO L290 TraceCheckUtils]: 117: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:45:27,837 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {35438#true} {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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)))} #88#return; {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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-07 13:45:27,837 INFO L272 TraceCheckUtils]: 119: Hoare triple {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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)); {35438#true} is VALID [2022-04-07 13:45:27,837 INFO L290 TraceCheckUtils]: 120: Hoare triple {35438#true} ~cond := #in~cond; {35742#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:45:27,838 INFO L290 TraceCheckUtils]: 121: Hoare triple {35742#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {35746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:45:27,838 INFO L290 TraceCheckUtils]: 122: Hoare triple {35746#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:45:27,839 INFO L284 TraceCheckUtils]: 123: Hoare quadruple {35746#(not (= |__VERIFIER_assert_#in~cond| 0))} {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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)))} #90#return; {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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-07 13:45:27,841 INFO L272 TraceCheckUtils]: 124: Hoare triple {35760#(and (= main_~s~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) 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)); {35824#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:45:27,841 INFO L290 TraceCheckUtils]: 125: Hoare triple {35824#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {35828#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:45:27,841 INFO L290 TraceCheckUtils]: 126: Hoare triple {35828#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {35439#false} is VALID [2022-04-07 13:45:27,841 INFO L290 TraceCheckUtils]: 127: Hoare triple {35439#false} assume !false; {35439#false} is VALID [2022-04-07 13:45:27,842 INFO L134 CoverageAnalysis]: Checked inductivity of 523 backedges. 100 proven. 57 refuted. 0 times theorem prover too weak. 366 trivial. 0 not checked. [2022-04-07 13:45:27,842 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:47:20,520 INFO L290 TraceCheckUtils]: 127: Hoare triple {35439#false} assume !false; {35439#false} is VALID [2022-04-07 13:47:20,520 INFO L290 TraceCheckUtils]: 126: Hoare triple {35828#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {35439#false} is VALID [2022-04-07 13:47:20,521 INFO L290 TraceCheckUtils]: 125: Hoare triple {35824#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {35828#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:47:20,521 INFO L272 TraceCheckUtils]: 124: Hoare triple {35844#(= (+ (* 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)); {35824#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:47:20,522 INFO L284 TraceCheckUtils]: 123: Hoare quadruple {35746#(not (= |__VERIFIER_assert_#in~cond| 0))} {35848#(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)))))} #90#return; {35844#(= (+ (* 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-07 13:47:20,522 INFO L290 TraceCheckUtils]: 122: Hoare triple {35746#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:47:20,523 INFO L290 TraceCheckUtils]: 121: Hoare triple {35858#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {35746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:47:20,523 INFO L290 TraceCheckUtils]: 120: Hoare triple {35438#true} ~cond := #in~cond; {35858#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 13:47:20,523 INFO L272 TraceCheckUtils]: 119: Hoare triple {35848#(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)); {35438#true} is VALID [2022-04-07 13:47:20,523 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {35438#true} {35848#(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)))))} #88#return; {35848#(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-07 13:47:20,524 INFO L290 TraceCheckUtils]: 117: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:47:20,524 INFO L290 TraceCheckUtils]: 116: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:47:20,524 INFO L290 TraceCheckUtils]: 115: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:47:20,524 INFO L272 TraceCheckUtils]: 114: Hoare triple {35848#(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)); {35438#true} is VALID [2022-04-07 13:47:20,524 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {35438#true} {35848#(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)))))} #86#return; {35848#(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-07 13:47:20,524 INFO L290 TraceCheckUtils]: 112: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:47:20,524 INFO L290 TraceCheckUtils]: 111: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:47:20,524 INFO L290 TraceCheckUtils]: 110: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:47:20,524 INFO L272 TraceCheckUtils]: 109: Hoare triple {35848#(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)); {35438#true} is VALID [2022-04-07 13:47:20,525 INFO L290 TraceCheckUtils]: 108: Hoare triple {35848#(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 !!(#t~post7 < 100);havoc #t~post7; {35848#(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-07 13:47:20,525 INFO L290 TraceCheckUtils]: 107: Hoare triple {35848#(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)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35848#(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-07 13:47:20,526 INFO L290 TraceCheckUtils]: 106: Hoare triple {35848#(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; {35848#(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-07 13:47:20,526 INFO L290 TraceCheckUtils]: 105: Hoare triple {35848#(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 !!(#t~post6 < 100);havoc #t~post6; {35848#(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-07 13:47:20,526 INFO L290 TraceCheckUtils]: 104: Hoare triple {35848#(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)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35848#(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-07 13:47:22,530 WARN L290 TraceCheckUtils]: 103: Hoare triple {35910#(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; {35848#(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-07 13:47:22,531 INFO L290 TraceCheckUtils]: 102: Hoare triple {35910#(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); {35910#(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-07 13:47:22,532 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {35746#(not (= |__VERIFIER_assert_#in~cond| 0))} {35917#(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)))} #92#return; {35910#(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-07 13:47:22,532 INFO L290 TraceCheckUtils]: 100: Hoare triple {35746#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:47:22,532 INFO L290 TraceCheckUtils]: 99: Hoare triple {35858#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {35746#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:47:22,532 INFO L290 TraceCheckUtils]: 98: Hoare triple {35438#true} ~cond := #in~cond; {35858#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 13:47:22,533 INFO L272 TraceCheckUtils]: 97: Hoare triple {35917#(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)); {35438#true} is VALID [2022-04-07 13:47:22,533 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {35438#true} {35917#(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)))} #90#return; {35917#(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-07 13:47:22,533 INFO L290 TraceCheckUtils]: 95: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:47:22,533 INFO L290 TraceCheckUtils]: 94: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:47:22,533 INFO L290 TraceCheckUtils]: 93: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:47:22,533 INFO L272 TraceCheckUtils]: 92: Hoare triple {35917#(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)); {35438#true} is VALID [2022-04-07 13:47:22,534 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {35438#true} {35917#(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)))} #88#return; {35917#(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-07 13:47:22,534 INFO L290 TraceCheckUtils]: 90: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:47:22,534 INFO L290 TraceCheckUtils]: 89: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:47:22,534 INFO L290 TraceCheckUtils]: 88: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:47:22,534 INFO L272 TraceCheckUtils]: 87: Hoare triple {35917#(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)); {35438#true} is VALID [2022-04-07 13:47:22,535 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {35438#true} {35917#(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)))} #86#return; {35917#(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-07 13:47:22,535 INFO L290 TraceCheckUtils]: 85: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:47:22,535 INFO L290 TraceCheckUtils]: 84: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:47:22,535 INFO L290 TraceCheckUtils]: 83: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:47:22,535 INFO L272 TraceCheckUtils]: 82: Hoare triple {35917#(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)); {35438#true} is VALID [2022-04-07 13:47:22,536 INFO L290 TraceCheckUtils]: 81: Hoare triple {35917#(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 !!(#t~post7 < 100);havoc #t~post7; {35917#(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-07 13:47:22,536 INFO L290 TraceCheckUtils]: 80: Hoare triple {35917#(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)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35917#(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-07 13:47:24,538 WARN L290 TraceCheckUtils]: 79: Hoare triple {35984#(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; {35917#(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-07 13:47:24,539 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {35438#true} {35984#(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)))))} #92#return; {35984#(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-07 13:47:24,539 INFO L290 TraceCheckUtils]: 77: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:47:24,539 INFO L290 TraceCheckUtils]: 76: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:47:24,539 INFO L290 TraceCheckUtils]: 75: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:47:24,539 INFO L272 TraceCheckUtils]: 74: Hoare triple {35984#(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)); {35438#true} is VALID [2022-04-07 13:47:24,539 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {35438#true} {35984#(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)))))} #90#return; {35984#(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-07 13:47:24,539 INFO L290 TraceCheckUtils]: 72: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:47:24,540 INFO L290 TraceCheckUtils]: 71: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:47:24,540 INFO L290 TraceCheckUtils]: 70: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:47:24,540 INFO L272 TraceCheckUtils]: 69: Hoare triple {35984#(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)); {35438#true} is VALID [2022-04-07 13:47:24,540 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {35438#true} {35984#(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)))))} #88#return; {35984#(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-07 13:47:24,540 INFO L290 TraceCheckUtils]: 67: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:47:24,540 INFO L290 TraceCheckUtils]: 66: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:47:24,540 INFO L290 TraceCheckUtils]: 65: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:47:24,541 INFO L272 TraceCheckUtils]: 64: Hoare triple {35984#(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)); {35438#true} is VALID [2022-04-07 13:47:24,541 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {35438#true} {35984#(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)))))} #86#return; {35984#(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-07 13:47:24,541 INFO L290 TraceCheckUtils]: 62: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:47:24,541 INFO L290 TraceCheckUtils]: 61: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:47:24,541 INFO L290 TraceCheckUtils]: 60: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:47:24,541 INFO L272 TraceCheckUtils]: 59: Hoare triple {35984#(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)); {35438#true} is VALID [2022-04-07 13:47:24,542 INFO L290 TraceCheckUtils]: 58: Hoare triple {35984#(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 !!(#t~post7 < 100);havoc #t~post7; {35984#(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-07 13:47:24,543 INFO L290 TraceCheckUtils]: 57: Hoare triple {35984#(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)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35984#(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-07 13:47:24,543 INFO L290 TraceCheckUtils]: 56: Hoare triple {36054#(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 (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {35984#(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-07 13:47:24,544 INFO L290 TraceCheckUtils]: 55: Hoare triple {36054#(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 (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(#t~post6 < 100);havoc #t~post6; {36054#(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 (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-07 13:47:24,545 INFO L290 TraceCheckUtils]: 54: Hoare triple {36054#(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 (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36054#(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 (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-07 13:47:26,547 WARN L290 TraceCheckUtils]: 53: Hoare triple {36064#(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_~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)) (+ (* (- 1) 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; {36054#(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 (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is UNKNOWN [2022-04-07 13:47:26,548 INFO L290 TraceCheckUtils]: 52: Hoare triple {36064#(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_~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)) (+ (* (- 1) main_~c~0) main_~b~0))))} assume !(~c~0 >= ~b~0); {36064#(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_~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)) (+ (* (- 1) main_~c~0) main_~b~0))))} is VALID [2022-04-07 13:47:26,548 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {35438#true} {36064#(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_~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)) (+ (* (- 1) main_~c~0) main_~b~0))))} #92#return; {36064#(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_~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)) (+ (* (- 1) main_~c~0) main_~b~0))))} is VALID [2022-04-07 13:47:26,548 INFO L290 TraceCheckUtils]: 50: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:47:26,548 INFO L290 TraceCheckUtils]: 49: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:47:26,549 INFO L290 TraceCheckUtils]: 48: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:47:26,549 INFO L272 TraceCheckUtils]: 47: Hoare triple {36064#(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_~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)) (+ (* (- 1) 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)); {35438#true} is VALID [2022-04-07 13:47:26,549 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {35438#true} {36064#(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_~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)) (+ (* (- 1) main_~c~0) main_~b~0))))} #90#return; {36064#(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_~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)) (+ (* (- 1) main_~c~0) main_~b~0))))} is VALID [2022-04-07 13:47:26,549 INFO L290 TraceCheckUtils]: 45: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:47:26,549 INFO L290 TraceCheckUtils]: 44: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:47:26,549 INFO L290 TraceCheckUtils]: 43: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:47:26,549 INFO L272 TraceCheckUtils]: 42: Hoare triple {36064#(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_~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)) (+ (* (- 1) main_~c~0) main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35438#true} is VALID [2022-04-07 13:47:26,550 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {35438#true} {36064#(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_~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)) (+ (* (- 1) main_~c~0) main_~b~0))))} #88#return; {36064#(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_~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)) (+ (* (- 1) main_~c~0) main_~b~0))))} is VALID [2022-04-07 13:47:26,550 INFO L290 TraceCheckUtils]: 40: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:47:26,550 INFO L290 TraceCheckUtils]: 39: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:47:26,550 INFO L290 TraceCheckUtils]: 38: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:47:26,550 INFO L272 TraceCheckUtils]: 37: Hoare triple {36064#(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_~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)) (+ (* (- 1) main_~c~0) main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35438#true} is VALID [2022-04-07 13:47:26,551 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {35438#true} {36064#(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_~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)) (+ (* (- 1) main_~c~0) main_~b~0))))} #86#return; {36064#(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_~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)) (+ (* (- 1) main_~c~0) main_~b~0))))} is VALID [2022-04-07 13:47:26,551 INFO L290 TraceCheckUtils]: 35: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:47:26,551 INFO L290 TraceCheckUtils]: 34: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:47:26,551 INFO L290 TraceCheckUtils]: 33: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:47:26,551 INFO L272 TraceCheckUtils]: 32: Hoare triple {36064#(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_~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)) (+ (* (- 1) main_~c~0) main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35438#true} is VALID [2022-04-07 13:47:26,552 INFO L290 TraceCheckUtils]: 31: Hoare triple {36064#(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_~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)) (+ (* (- 1) main_~c~0) main_~b~0))))} assume !!(#t~post7 < 100);havoc #t~post7; {36064#(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_~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)) (+ (* (- 1) main_~c~0) main_~b~0))))} is VALID [2022-04-07 13:47:26,553 INFO L290 TraceCheckUtils]: 30: Hoare triple {36064#(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_~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)) (+ (* (- 1) main_~c~0) main_~b~0))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36064#(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_~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)) (+ (* (- 1) main_~c~0) main_~b~0))))} is VALID [2022-04-07 13:47:26,597 INFO L290 TraceCheckUtils]: 29: Hoare triple {36137#(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; {36064#(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_~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)) (+ (* (- 1) main_~c~0) main_~b~0))))} is VALID [2022-04-07 13:47:26,598 INFO L290 TraceCheckUtils]: 28: Hoare triple {36137#(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 !!(#t~post6 < 100);havoc #t~post6; {36137#(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-07 13:47:26,599 INFO L290 TraceCheckUtils]: 27: Hoare triple {36137#(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)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36137#(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-07 13:47:26,599 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {35438#true} {36137#(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)))))} #84#return; {36137#(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-07 13:47:26,599 INFO L290 TraceCheckUtils]: 25: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:47:26,599 INFO L290 TraceCheckUtils]: 24: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:47:26,599 INFO L290 TraceCheckUtils]: 23: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:47:26,599 INFO L272 TraceCheckUtils]: 22: Hoare triple {36137#(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)); {35438#true} is VALID [2022-04-07 13:47:26,600 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {35438#true} {36137#(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)))))} #82#return; {36137#(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-07 13:47:26,600 INFO L290 TraceCheckUtils]: 20: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:47:26,600 INFO L290 TraceCheckUtils]: 19: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:47:26,600 INFO L290 TraceCheckUtils]: 18: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:47:26,600 INFO L272 TraceCheckUtils]: 17: Hoare triple {36137#(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)); {35438#true} is VALID [2022-04-07 13:47:26,602 INFO L290 TraceCheckUtils]: 16: Hoare triple {35438#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; {36137#(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-07 13:47:26,602 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {35438#true} {35438#true} #80#return; {35438#true} is VALID [2022-04-07 13:47:26,602 INFO L290 TraceCheckUtils]: 14: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:47:26,602 INFO L290 TraceCheckUtils]: 13: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:47:26,602 INFO L290 TraceCheckUtils]: 12: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:47:26,602 INFO L272 TraceCheckUtils]: 11: Hoare triple {35438#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {35438#true} is VALID [2022-04-07 13:47:26,602 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35438#true} {35438#true} #78#return; {35438#true} is VALID [2022-04-07 13:47:26,602 INFO L290 TraceCheckUtils]: 9: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:47:26,602 INFO L290 TraceCheckUtils]: 8: Hoare triple {35438#true} assume !(0 == ~cond); {35438#true} is VALID [2022-04-07 13:47:26,602 INFO L290 TraceCheckUtils]: 7: Hoare triple {35438#true} ~cond := #in~cond; {35438#true} is VALID [2022-04-07 13:47:26,602 INFO L272 TraceCheckUtils]: 6: Hoare triple {35438#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {35438#true} is VALID [2022-04-07 13:47:26,602 INFO L290 TraceCheckUtils]: 5: Hoare triple {35438#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35438#true} is VALID [2022-04-07 13:47:26,603 INFO L272 TraceCheckUtils]: 4: Hoare triple {35438#true} call #t~ret8 := main(); {35438#true} is VALID [2022-04-07 13:47:26,603 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35438#true} {35438#true} #98#return; {35438#true} is VALID [2022-04-07 13:47:26,603 INFO L290 TraceCheckUtils]: 2: Hoare triple {35438#true} assume true; {35438#true} is VALID [2022-04-07 13:47:26,603 INFO L290 TraceCheckUtils]: 1: Hoare triple {35438#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);~counter~0 := 0; {35438#true} is VALID [2022-04-07 13:47:26,603 INFO L272 TraceCheckUtils]: 0: Hoare triple {35438#true} call ULTIMATE.init(); {35438#true} is VALID [2022-04-07 13:47:26,603 INFO L134 CoverageAnalysis]: Checked inductivity of 523 backedges. 101 proven. 56 refuted. 0 times theorem prover too weak. 366 trivial. 0 not checked. [2022-04-07 13:47:26,604 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:47:26,604 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1927475783] [2022-04-07 13:47:26,604 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:47:26,604 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1593830993] [2022-04-07 13:47:26,604 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1593830993] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:47:26,604 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:47:26,604 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 22 [2022-04-07 13:47:26,604 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [77400036] [2022-04-07 13:47:26,604 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:47:26,604 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 21 states have (on average 3.0) internal successors, (63), 20 states have internal predecessors, (63), 12 states have call successors, (40), 2 states have call predecessors, (40), 2 states have return successors, (37), 14 states have call predecessors, (37), 11 states have call successors, (37) Word has length 128 [2022-04-07 13:47:26,605 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:47:26,605 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 21 states have (on average 3.0) internal successors, (63), 20 states have internal predecessors, (63), 12 states have call successors, (40), 2 states have call predecessors, (40), 2 states have return successors, (37), 14 states have call predecessors, (37), 11 states have call successors, (37) [2022-04-07 13:47:31,615 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 138 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-07 13:47:31,615 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-07 13:47:31,615 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:47:31,619 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-07 13:47:31,619 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=353, Unknown=4, NotChecked=0, Total=462 [2022-04-07 13:47:31,619 INFO L87 Difference]: Start difference. First operand 1321 states and 1632 transitions. Second operand has 22 states, 21 states have (on average 3.0) internal successors, (63), 20 states have internal predecessors, (63), 12 states have call successors, (40), 2 states have call predecessors, (40), 2 states have return successors, (37), 14 states have call predecessors, (37), 11 states have call successors, (37) [2022-04-07 13:47:39,568 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-07 13:47:55,153 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-07 13:47:57,364 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-07 13:48:01,493 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-07 13:48:03,528 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-07 13:48:05,686 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-07 13:48:11,034 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-07 13:48:47,484 WARN L232 SmtUtils]: Spent 30.97s on a formula simplification that was a NOOP. DAG size: 132 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-07 13:48:53,546 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-07 13:49:30,374 WARN L232 SmtUtils]: Spent 30.36s on a formula simplification that was a NOOP. DAG size: 124 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-07 13:49:44,442 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.63s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 13:49:46,887 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-07 13:49:53,613 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-07 13:49:55,623 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-07 13:50:01,858 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-07 13:50:03,922 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-07 13:50:08,698 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-07 13:50:11,271 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-07 13:50:13,274 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-07 13:50:15,276 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-07 13:50:19,395 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-07 13:50:27,910 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-07 13:50:29,930 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-07 13:50:31,989 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-07 13:50:34,047 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-07 13:50:36,109 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.03s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 13:50:39,080 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-07 13:50:41,220 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-07 13:50:43,306 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-07 13:50:46,301 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-07 13:50:48,332 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-07 13:50:50,372 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-07 13:50:57,311 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-07 13:51:05,199 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-07 13:51:07,248 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-07 13:51:11,105 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.17s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 13:51:12,567 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.46s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 13:51:16,390 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.03s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 13:51:28,488 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-07 13:51:30,571 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-07 13:51:33,130 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-07 13:51:44,440 WARN L232 SmtUtils]: Spent 10.81s on a formula simplification that was a NOOP. DAG size: 78 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-07 13:51:52,730 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-07 13:51:54,734 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-07 13:51:56,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:51:56,317 INFO L93 Difference]: Finished difference Result 1595 states and 2000 transitions. [2022-04-07 13:51:56,317 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-07 13:51:56,317 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 21 states have (on average 3.0) internal successors, (63), 20 states have internal predecessors, (63), 12 states have call successors, (40), 2 states have call predecessors, (40), 2 states have return successors, (37), 14 states have call predecessors, (37), 11 states have call successors, (37) Word has length 128 [2022-04-07 13:51:56,317 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:51:56,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 21 states have (on average 3.0) internal successors, (63), 20 states have internal predecessors, (63), 12 states have call successors, (40), 2 states have call predecessors, (40), 2 states have return successors, (37), 14 states have call predecessors, (37), 11 states have call successors, (37) [2022-04-07 13:51:56,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 218 transitions. [2022-04-07 13:51:56,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 21 states have (on average 3.0) internal successors, (63), 20 states have internal predecessors, (63), 12 states have call successors, (40), 2 states have call predecessors, (40), 2 states have return successors, (37), 14 states have call predecessors, (37), 11 states have call successors, (37) [2022-04-07 13:51:56,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 218 transitions. [2022-04-07 13:51:56,321 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 218 transitions. [2022-04-07 13:52:07,974 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 218 edges. 213 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-07 13:52:08,080 INFO L225 Difference]: With dead ends: 1595 [2022-04-07 13:52:08,081 INFO L226 Difference]: Without dead ends: 1579 [2022-04-07 13:52:08,081 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 271 GetRequests, 233 SyntacticMatches, 3 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 193 ImplicationChecksByTransitivity, 109.9s TimeCoverageRelationStatistics Valid=350, Invalid=973, Unknown=9, NotChecked=0, Total=1332 [2022-04-07 13:52:08,082 INFO L913 BasicCegarLoop]: 62 mSDtfsCounter, 147 mSDsluCounter, 333 mSDsCounter, 0 mSdLazyCounter, 764 mSolverCounterSat, 186 mSolverCounterUnsat, 38 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 92.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 159 SdHoareTripleChecker+Valid, 395 SdHoareTripleChecker+Invalid, 988 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 186 IncrementalHoareTripleChecker+Valid, 764 IncrementalHoareTripleChecker+Invalid, 38 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 92.3s IncrementalHoareTripleChecker+Time [2022-04-07 13:52:08,082 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [159 Valid, 395 Invalid, 988 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [186 Valid, 764 Invalid, 38 Unknown, 0 Unchecked, 92.3s Time] [2022-04-07 13:52:08,083 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1579 states. [2022-04-07 13:52:09,779 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1579 to 1493. [2022-04-07 13:52:09,780 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:52:09,781 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1579 states. Second operand has 1493 states, 956 states have (on average 1.1621338912133892) internal successors, (1111), 963 states have internal predecessors, (1111), 381 states have call successors, (381), 157 states have call predecessors, (381), 155 states have return successors, (378), 372 states have call predecessors, (378), 378 states have call successors, (378) [2022-04-07 13:52:09,782 INFO L74 IsIncluded]: Start isIncluded. First operand 1579 states. Second operand has 1493 states, 956 states have (on average 1.1621338912133892) internal successors, (1111), 963 states have internal predecessors, (1111), 381 states have call successors, (381), 157 states have call predecessors, (381), 155 states have return successors, (378), 372 states have call predecessors, (378), 378 states have call successors, (378) [2022-04-07 13:52:09,783 INFO L87 Difference]: Start difference. First operand 1579 states. Second operand has 1493 states, 956 states have (on average 1.1621338912133892) internal successors, (1111), 963 states have internal predecessors, (1111), 381 states have call successors, (381), 157 states have call predecessors, (381), 155 states have return successors, (378), 372 states have call predecessors, (378), 378 states have call successors, (378) [2022-04-07 13:52:09,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:52:09,854 INFO L93 Difference]: Finished difference Result 1579 states and 1977 transitions. [2022-04-07 13:52:09,854 INFO L276 IsEmpty]: Start isEmpty. Operand 1579 states and 1977 transitions. [2022-04-07 13:52:09,857 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:52:09,857 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:52:09,859 INFO L74 IsIncluded]: Start isIncluded. First operand has 1493 states, 956 states have (on average 1.1621338912133892) internal successors, (1111), 963 states have internal predecessors, (1111), 381 states have call successors, (381), 157 states have call predecessors, (381), 155 states have return successors, (378), 372 states have call predecessors, (378), 378 states have call successors, (378) Second operand 1579 states. [2022-04-07 13:52:09,860 INFO L87 Difference]: Start difference. First operand has 1493 states, 956 states have (on average 1.1621338912133892) internal successors, (1111), 963 states have internal predecessors, (1111), 381 states have call successors, (381), 157 states have call predecessors, (381), 155 states have return successors, (378), 372 states have call predecessors, (378), 378 states have call successors, (378) Second operand 1579 states. [2022-04-07 13:52:09,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:52:09,929 INFO L93 Difference]: Finished difference Result 1579 states and 1977 transitions. [2022-04-07 13:52:09,929 INFO L276 IsEmpty]: Start isEmpty. Operand 1579 states and 1977 transitions. [2022-04-07 13:52:09,932 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:52:09,932 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:52:09,932 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:52:09,932 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:52:09,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1493 states, 956 states have (on average 1.1621338912133892) internal successors, (1111), 963 states have internal predecessors, (1111), 381 states have call successors, (381), 157 states have call predecessors, (381), 155 states have return successors, (378), 372 states have call predecessors, (378), 378 states have call successors, (378) [2022-04-07 13:52:10,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1493 states to 1493 states and 1870 transitions. [2022-04-07 13:52:10,024 INFO L78 Accepts]: Start accepts. Automaton has 1493 states and 1870 transitions. Word has length 128 [2022-04-07 13:52:10,024 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:52:10,024 INFO L478 AbstractCegarLoop]: Abstraction has 1493 states and 1870 transitions. [2022-04-07 13:52:10,024 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 21 states have (on average 3.0) internal successors, (63), 20 states have internal predecessors, (63), 12 states have call successors, (40), 2 states have call predecessors, (40), 2 states have return successors, (37), 14 states have call predecessors, (37), 11 states have call successors, (37) [2022-04-07 13:52:10,024 INFO L276 IsEmpty]: Start isEmpty. Operand 1493 states and 1870 transitions. [2022-04-07 13:52:10,025 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 134 [2022-04-07 13:52:10,025 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:52:10,025 INFO L499 BasicCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:52:10,046 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-07 13:52:10,246 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:52:10,246 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:52:10,246 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:52:10,246 INFO L85 PathProgramCache]: Analyzing trace with hash -2098906485, now seen corresponding path program 1 times [2022-04-07 13:52:10,247 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:52:10,247 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1955385435] [2022-04-07 13:52:10,247 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:52:10,247 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:52:10,261 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:52:10,261 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [280618160] [2022-04-07 13:52:10,261 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:52:10,261 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:52:10,261 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:52:10,262 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:52:10,263 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-07 13:52:10,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:52:10,314 INFO L263 TraceCheckSpWp]: Trace formula consists of 349 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-07 13:52:10,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:52:10,335 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:52:10,836 INFO L272 TraceCheckUtils]: 0: Hoare triple {43928#true} call ULTIMATE.init(); {43928#true} is VALID [2022-04-07 13:52:10,836 INFO L290 TraceCheckUtils]: 1: Hoare triple {43928#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);~counter~0 := 0; {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,836 INFO L290 TraceCheckUtils]: 2: Hoare triple {43936#(<= ~counter~0 0)} assume true; {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,837 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43936#(<= ~counter~0 0)} {43928#true} #98#return; {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,837 INFO L272 TraceCheckUtils]: 4: Hoare triple {43936#(<= ~counter~0 0)} call #t~ret8 := main(); {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,837 INFO L290 TraceCheckUtils]: 5: Hoare triple {43936#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,838 INFO L272 TraceCheckUtils]: 6: Hoare triple {43936#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,838 INFO L290 TraceCheckUtils]: 7: Hoare triple {43936#(<= ~counter~0 0)} ~cond := #in~cond; {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,838 INFO L290 TraceCheckUtils]: 8: Hoare triple {43936#(<= ~counter~0 0)} assume !(0 == ~cond); {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,838 INFO L290 TraceCheckUtils]: 9: Hoare triple {43936#(<= ~counter~0 0)} assume true; {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,839 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {43936#(<= ~counter~0 0)} {43936#(<= ~counter~0 0)} #78#return; {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,839 INFO L272 TraceCheckUtils]: 11: Hoare triple {43936#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,839 INFO L290 TraceCheckUtils]: 12: Hoare triple {43936#(<= ~counter~0 0)} ~cond := #in~cond; {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,839 INFO L290 TraceCheckUtils]: 13: Hoare triple {43936#(<= ~counter~0 0)} assume !(0 == ~cond); {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,840 INFO L290 TraceCheckUtils]: 14: Hoare triple {43936#(<= ~counter~0 0)} assume true; {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,840 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {43936#(<= ~counter~0 0)} {43936#(<= ~counter~0 0)} #80#return; {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,840 INFO L290 TraceCheckUtils]: 16: Hoare triple {43936#(<= ~counter~0 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; {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,840 INFO L272 TraceCheckUtils]: 17: Hoare triple {43936#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,841 INFO L290 TraceCheckUtils]: 18: Hoare triple {43936#(<= ~counter~0 0)} ~cond := #in~cond; {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,841 INFO L290 TraceCheckUtils]: 19: Hoare triple {43936#(<= ~counter~0 0)} assume !(0 == ~cond); {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,841 INFO L290 TraceCheckUtils]: 20: Hoare triple {43936#(<= ~counter~0 0)} assume true; {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,841 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {43936#(<= ~counter~0 0)} {43936#(<= ~counter~0 0)} #82#return; {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,842 INFO L272 TraceCheckUtils]: 22: Hoare triple {43936#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,842 INFO L290 TraceCheckUtils]: 23: Hoare triple {43936#(<= ~counter~0 0)} ~cond := #in~cond; {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,842 INFO L290 TraceCheckUtils]: 24: Hoare triple {43936#(<= ~counter~0 0)} assume !(0 == ~cond); {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,842 INFO L290 TraceCheckUtils]: 25: Hoare triple {43936#(<= ~counter~0 0)} assume true; {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,843 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {43936#(<= ~counter~0 0)} {43936#(<= ~counter~0 0)} #84#return; {43936#(<= ~counter~0 0)} is VALID [2022-04-07 13:52:10,843 INFO L290 TraceCheckUtils]: 27: Hoare triple {43936#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44015#(<= ~counter~0 1)} is VALID [2022-04-07 13:52:10,844 INFO L290 TraceCheckUtils]: 28: Hoare triple {44015#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {44015#(<= ~counter~0 1)} is VALID [2022-04-07 13:52:10,844 INFO L290 TraceCheckUtils]: 29: Hoare triple {44015#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {44015#(<= ~counter~0 1)} is VALID [2022-04-07 13:52:10,844 INFO L290 TraceCheckUtils]: 30: Hoare triple {44015#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,845 INFO L290 TraceCheckUtils]: 31: Hoare triple {44025#(<= ~counter~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,845 INFO L272 TraceCheckUtils]: 32: Hoare triple {44025#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,845 INFO L290 TraceCheckUtils]: 33: Hoare triple {44025#(<= ~counter~0 2)} ~cond := #in~cond; {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,846 INFO L290 TraceCheckUtils]: 34: Hoare triple {44025#(<= ~counter~0 2)} assume !(0 == ~cond); {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,846 INFO L290 TraceCheckUtils]: 35: Hoare triple {44025#(<= ~counter~0 2)} assume true; {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,846 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {44025#(<= ~counter~0 2)} {44025#(<= ~counter~0 2)} #86#return; {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,847 INFO L272 TraceCheckUtils]: 37: Hoare triple {44025#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,847 INFO L290 TraceCheckUtils]: 38: Hoare triple {44025#(<= ~counter~0 2)} ~cond := #in~cond; {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,847 INFO L290 TraceCheckUtils]: 39: Hoare triple {44025#(<= ~counter~0 2)} assume !(0 == ~cond); {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,847 INFO L290 TraceCheckUtils]: 40: Hoare triple {44025#(<= ~counter~0 2)} assume true; {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,848 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {44025#(<= ~counter~0 2)} {44025#(<= ~counter~0 2)} #88#return; {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,848 INFO L272 TraceCheckUtils]: 42: Hoare triple {44025#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,848 INFO L290 TraceCheckUtils]: 43: Hoare triple {44025#(<= ~counter~0 2)} ~cond := #in~cond; {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,849 INFO L290 TraceCheckUtils]: 44: Hoare triple {44025#(<= ~counter~0 2)} assume !(0 == ~cond); {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,849 INFO L290 TraceCheckUtils]: 45: Hoare triple {44025#(<= ~counter~0 2)} assume true; {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,849 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {44025#(<= ~counter~0 2)} {44025#(<= ~counter~0 2)} #90#return; {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,850 INFO L272 TraceCheckUtils]: 47: Hoare triple {44025#(<= ~counter~0 2)} 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)); {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,850 INFO L290 TraceCheckUtils]: 48: Hoare triple {44025#(<= ~counter~0 2)} ~cond := #in~cond; {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,850 INFO L290 TraceCheckUtils]: 49: Hoare triple {44025#(<= ~counter~0 2)} assume !(0 == ~cond); {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,851 INFO L290 TraceCheckUtils]: 50: Hoare triple {44025#(<= ~counter~0 2)} assume true; {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,851 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {44025#(<= ~counter~0 2)} {44025#(<= ~counter~0 2)} #92#return; {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,851 INFO L290 TraceCheckUtils]: 52: Hoare triple {44025#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {44025#(<= ~counter~0 2)} is VALID [2022-04-07 13:52:10,852 INFO L290 TraceCheckUtils]: 53: Hoare triple {44025#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,852 INFO L290 TraceCheckUtils]: 54: Hoare triple {44095#(<= ~counter~0 3)} assume !!(#t~post7 < 100);havoc #t~post7; {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,852 INFO L272 TraceCheckUtils]: 55: Hoare triple {44095#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,853 INFO L290 TraceCheckUtils]: 56: Hoare triple {44095#(<= ~counter~0 3)} ~cond := #in~cond; {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,853 INFO L290 TraceCheckUtils]: 57: Hoare triple {44095#(<= ~counter~0 3)} assume !(0 == ~cond); {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,853 INFO L290 TraceCheckUtils]: 58: Hoare triple {44095#(<= ~counter~0 3)} assume true; {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,854 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {44095#(<= ~counter~0 3)} {44095#(<= ~counter~0 3)} #86#return; {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,854 INFO L272 TraceCheckUtils]: 60: Hoare triple {44095#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,854 INFO L290 TraceCheckUtils]: 61: Hoare triple {44095#(<= ~counter~0 3)} ~cond := #in~cond; {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,854 INFO L290 TraceCheckUtils]: 62: Hoare triple {44095#(<= ~counter~0 3)} assume !(0 == ~cond); {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,855 INFO L290 TraceCheckUtils]: 63: Hoare triple {44095#(<= ~counter~0 3)} assume true; {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,856 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {44095#(<= ~counter~0 3)} {44095#(<= ~counter~0 3)} #88#return; {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,856 INFO L272 TraceCheckUtils]: 65: Hoare triple {44095#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,856 INFO L290 TraceCheckUtils]: 66: Hoare triple {44095#(<= ~counter~0 3)} ~cond := #in~cond; {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,857 INFO L290 TraceCheckUtils]: 67: Hoare triple {44095#(<= ~counter~0 3)} assume !(0 == ~cond); {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,857 INFO L290 TraceCheckUtils]: 68: Hoare triple {44095#(<= ~counter~0 3)} assume true; {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,857 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {44095#(<= ~counter~0 3)} {44095#(<= ~counter~0 3)} #90#return; {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,858 INFO L272 TraceCheckUtils]: 70: Hoare triple {44095#(<= ~counter~0 3)} 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)); {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,858 INFO L290 TraceCheckUtils]: 71: Hoare triple {44095#(<= ~counter~0 3)} ~cond := #in~cond; {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,858 INFO L290 TraceCheckUtils]: 72: Hoare triple {44095#(<= ~counter~0 3)} assume !(0 == ~cond); {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,859 INFO L290 TraceCheckUtils]: 73: Hoare triple {44095#(<= ~counter~0 3)} assume true; {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,859 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {44095#(<= ~counter~0 3)} {44095#(<= ~counter~0 3)} #92#return; {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,859 INFO L290 TraceCheckUtils]: 75: Hoare triple {44095#(<= ~counter~0 3)} assume !(~c~0 >= ~b~0); {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,860 INFO L290 TraceCheckUtils]: 76: Hoare triple {44095#(<= ~counter~0 3)} ~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; {44095#(<= ~counter~0 3)} is VALID [2022-04-07 13:52:10,860 INFO L290 TraceCheckUtils]: 77: Hoare triple {44095#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44168#(<= ~counter~0 4)} is VALID [2022-04-07 13:52:10,860 INFO L290 TraceCheckUtils]: 78: Hoare triple {44168#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {44168#(<= ~counter~0 4)} is VALID [2022-04-07 13:52:10,860 INFO L290 TraceCheckUtils]: 79: Hoare triple {44168#(<= ~counter~0 4)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {44168#(<= ~counter~0 4)} is VALID [2022-04-07 13:52:10,861 INFO L290 TraceCheckUtils]: 80: Hoare triple {44168#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,861 INFO L290 TraceCheckUtils]: 81: Hoare triple {44178#(<= ~counter~0 5)} assume !!(#t~post7 < 100);havoc #t~post7; {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,862 INFO L272 TraceCheckUtils]: 82: Hoare triple {44178#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,862 INFO L290 TraceCheckUtils]: 83: Hoare triple {44178#(<= ~counter~0 5)} ~cond := #in~cond; {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,862 INFO L290 TraceCheckUtils]: 84: Hoare triple {44178#(<= ~counter~0 5)} assume !(0 == ~cond); {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,862 INFO L290 TraceCheckUtils]: 85: Hoare triple {44178#(<= ~counter~0 5)} assume true; {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,863 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {44178#(<= ~counter~0 5)} {44178#(<= ~counter~0 5)} #86#return; {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,863 INFO L272 TraceCheckUtils]: 87: Hoare triple {44178#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,863 INFO L290 TraceCheckUtils]: 88: Hoare triple {44178#(<= ~counter~0 5)} ~cond := #in~cond; {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,864 INFO L290 TraceCheckUtils]: 89: Hoare triple {44178#(<= ~counter~0 5)} assume !(0 == ~cond); {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,864 INFO L290 TraceCheckUtils]: 90: Hoare triple {44178#(<= ~counter~0 5)} assume true; {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,864 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {44178#(<= ~counter~0 5)} {44178#(<= ~counter~0 5)} #88#return; {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,865 INFO L272 TraceCheckUtils]: 92: Hoare triple {44178#(<= ~counter~0 5)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,865 INFO L290 TraceCheckUtils]: 93: Hoare triple {44178#(<= ~counter~0 5)} ~cond := #in~cond; {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,865 INFO L290 TraceCheckUtils]: 94: Hoare triple {44178#(<= ~counter~0 5)} assume !(0 == ~cond); {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,865 INFO L290 TraceCheckUtils]: 95: Hoare triple {44178#(<= ~counter~0 5)} assume true; {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,866 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {44178#(<= ~counter~0 5)} {44178#(<= ~counter~0 5)} #90#return; {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,866 INFO L272 TraceCheckUtils]: 97: Hoare triple {44178#(<= ~counter~0 5)} 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)); {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,867 INFO L290 TraceCheckUtils]: 98: Hoare triple {44178#(<= ~counter~0 5)} ~cond := #in~cond; {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,867 INFO L290 TraceCheckUtils]: 99: Hoare triple {44178#(<= ~counter~0 5)} assume !(0 == ~cond); {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,867 INFO L290 TraceCheckUtils]: 100: Hoare triple {44178#(<= ~counter~0 5)} assume true; {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,868 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {44178#(<= ~counter~0 5)} {44178#(<= ~counter~0 5)} #92#return; {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,868 INFO L290 TraceCheckUtils]: 102: Hoare triple {44178#(<= ~counter~0 5)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {44178#(<= ~counter~0 5)} is VALID [2022-04-07 13:52:10,868 INFO L290 TraceCheckUtils]: 103: Hoare triple {44178#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,869 INFO L290 TraceCheckUtils]: 104: Hoare triple {44248#(<= ~counter~0 6)} assume !!(#t~post7 < 100);havoc #t~post7; {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,869 INFO L272 TraceCheckUtils]: 105: Hoare triple {44248#(<= ~counter~0 6)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,869 INFO L290 TraceCheckUtils]: 106: Hoare triple {44248#(<= ~counter~0 6)} ~cond := #in~cond; {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,869 INFO L290 TraceCheckUtils]: 107: Hoare triple {44248#(<= ~counter~0 6)} assume !(0 == ~cond); {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,870 INFO L290 TraceCheckUtils]: 108: Hoare triple {44248#(<= ~counter~0 6)} assume true; {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,870 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {44248#(<= ~counter~0 6)} {44248#(<= ~counter~0 6)} #86#return; {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,871 INFO L272 TraceCheckUtils]: 110: Hoare triple {44248#(<= ~counter~0 6)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,871 INFO L290 TraceCheckUtils]: 111: Hoare triple {44248#(<= ~counter~0 6)} ~cond := #in~cond; {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,871 INFO L290 TraceCheckUtils]: 112: Hoare triple {44248#(<= ~counter~0 6)} assume !(0 == ~cond); {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,871 INFO L290 TraceCheckUtils]: 113: Hoare triple {44248#(<= ~counter~0 6)} assume true; {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,872 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {44248#(<= ~counter~0 6)} {44248#(<= ~counter~0 6)} #88#return; {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,872 INFO L272 TraceCheckUtils]: 115: Hoare triple {44248#(<= ~counter~0 6)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,874 INFO L290 TraceCheckUtils]: 116: Hoare triple {44248#(<= ~counter~0 6)} ~cond := #in~cond; {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,874 INFO L290 TraceCheckUtils]: 117: Hoare triple {44248#(<= ~counter~0 6)} assume !(0 == ~cond); {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,874 INFO L290 TraceCheckUtils]: 118: Hoare triple {44248#(<= ~counter~0 6)} assume true; {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,875 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {44248#(<= ~counter~0 6)} {44248#(<= ~counter~0 6)} #90#return; {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,875 INFO L272 TraceCheckUtils]: 120: Hoare triple {44248#(<= ~counter~0 6)} 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)); {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,876 INFO L290 TraceCheckUtils]: 121: Hoare triple {44248#(<= ~counter~0 6)} ~cond := #in~cond; {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,876 INFO L290 TraceCheckUtils]: 122: Hoare triple {44248#(<= ~counter~0 6)} assume !(0 == ~cond); {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,876 INFO L290 TraceCheckUtils]: 123: Hoare triple {44248#(<= ~counter~0 6)} assume true; {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,877 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {44248#(<= ~counter~0 6)} {44248#(<= ~counter~0 6)} #92#return; {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,877 INFO L290 TraceCheckUtils]: 125: Hoare triple {44248#(<= ~counter~0 6)} assume !(~c~0 >= ~b~0); {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,877 INFO L290 TraceCheckUtils]: 126: Hoare triple {44248#(<= ~counter~0 6)} ~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; {44248#(<= ~counter~0 6)} is VALID [2022-04-07 13:52:10,877 INFO L290 TraceCheckUtils]: 127: Hoare triple {44248#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44321#(<= |main_#t~post6| 6)} is VALID [2022-04-07 13:52:10,878 INFO L290 TraceCheckUtils]: 128: Hoare triple {44321#(<= |main_#t~post6| 6)} assume !(#t~post6 < 100);havoc #t~post6; {43929#false} is VALID [2022-04-07 13:52:10,878 INFO L272 TraceCheckUtils]: 129: Hoare triple {43929#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {43929#false} is VALID [2022-04-07 13:52:10,878 INFO L290 TraceCheckUtils]: 130: Hoare triple {43929#false} ~cond := #in~cond; {43929#false} is VALID [2022-04-07 13:52:10,878 INFO L290 TraceCheckUtils]: 131: Hoare triple {43929#false} assume 0 == ~cond; {43929#false} is VALID [2022-04-07 13:52:10,878 INFO L290 TraceCheckUtils]: 132: Hoare triple {43929#false} assume !false; {43929#false} is VALID [2022-04-07 13:52:10,878 INFO L134 CoverageAnalysis]: Checked inductivity of 586 backedges. 32 proven. 434 refuted. 0 times theorem prover too weak. 120 trivial. 0 not checked. [2022-04-07 13:52:10,878 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 13:52:11,407 INFO L290 TraceCheckUtils]: 132: Hoare triple {43929#false} assume !false; {43929#false} is VALID [2022-04-07 13:52:11,407 INFO L290 TraceCheckUtils]: 131: Hoare triple {43929#false} assume 0 == ~cond; {43929#false} is VALID [2022-04-07 13:52:11,407 INFO L290 TraceCheckUtils]: 130: Hoare triple {43929#false} ~cond := #in~cond; {43929#false} is VALID [2022-04-07 13:52:11,407 INFO L272 TraceCheckUtils]: 129: Hoare triple {43929#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {43929#false} is VALID [2022-04-07 13:52:11,407 INFO L290 TraceCheckUtils]: 128: Hoare triple {44349#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {43929#false} is VALID [2022-04-07 13:52:11,408 INFO L290 TraceCheckUtils]: 127: Hoare triple {44353#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44349#(< |main_#t~post6| 100)} is VALID [2022-04-07 13:52:11,408 INFO L290 TraceCheckUtils]: 126: Hoare triple {44353#(< ~counter~0 100)} ~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; {44353#(< ~counter~0 100)} is VALID [2022-04-07 13:52:11,408 INFO L290 TraceCheckUtils]: 125: Hoare triple {44353#(< ~counter~0 100)} assume !(~c~0 >= ~b~0); {44353#(< ~counter~0 100)} is VALID [2022-04-07 13:52:11,409 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {43928#true} {44353#(< ~counter~0 100)} #92#return; {44353#(< ~counter~0 100)} is VALID [2022-04-07 13:52:11,409 INFO L290 TraceCheckUtils]: 123: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,409 INFO L290 TraceCheckUtils]: 122: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,409 INFO L290 TraceCheckUtils]: 121: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,409 INFO L272 TraceCheckUtils]: 120: Hoare triple {44353#(< ~counter~0 100)} 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)); {43928#true} is VALID [2022-04-07 13:52:11,410 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {43928#true} {44353#(< ~counter~0 100)} #90#return; {44353#(< ~counter~0 100)} is VALID [2022-04-07 13:52:11,410 INFO L290 TraceCheckUtils]: 118: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,410 INFO L290 TraceCheckUtils]: 117: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,410 INFO L290 TraceCheckUtils]: 116: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,410 INFO L272 TraceCheckUtils]: 115: Hoare triple {44353#(< ~counter~0 100)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43928#true} is VALID [2022-04-07 13:52:11,410 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {43928#true} {44353#(< ~counter~0 100)} #88#return; {44353#(< ~counter~0 100)} is VALID [2022-04-07 13:52:11,410 INFO L290 TraceCheckUtils]: 113: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,410 INFO L290 TraceCheckUtils]: 112: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,410 INFO L290 TraceCheckUtils]: 111: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,410 INFO L272 TraceCheckUtils]: 110: Hoare triple {44353#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43928#true} is VALID [2022-04-07 13:52:11,411 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {43928#true} {44353#(< ~counter~0 100)} #86#return; {44353#(< ~counter~0 100)} is VALID [2022-04-07 13:52:11,411 INFO L290 TraceCheckUtils]: 108: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,411 INFO L290 TraceCheckUtils]: 107: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,411 INFO L290 TraceCheckUtils]: 106: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,411 INFO L272 TraceCheckUtils]: 105: Hoare triple {44353#(< ~counter~0 100)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {43928#true} is VALID [2022-04-07 13:52:11,411 INFO L290 TraceCheckUtils]: 104: Hoare triple {44353#(< ~counter~0 100)} assume !!(#t~post7 < 100);havoc #t~post7; {44353#(< ~counter~0 100)} is VALID [2022-04-07 13:52:11,412 INFO L290 TraceCheckUtils]: 103: Hoare triple {44426#(< ~counter~0 99)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {44353#(< ~counter~0 100)} is VALID [2022-04-07 13:52:11,412 INFO L290 TraceCheckUtils]: 102: Hoare triple {44426#(< ~counter~0 99)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {44426#(< ~counter~0 99)} is VALID [2022-04-07 13:52:11,413 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {43928#true} {44426#(< ~counter~0 99)} #92#return; {44426#(< ~counter~0 99)} is VALID [2022-04-07 13:52:11,413 INFO L290 TraceCheckUtils]: 100: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,413 INFO L290 TraceCheckUtils]: 99: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,413 INFO L290 TraceCheckUtils]: 98: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,413 INFO L272 TraceCheckUtils]: 97: Hoare triple {44426#(< ~counter~0 99)} 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)); {43928#true} is VALID [2022-04-07 13:52:11,414 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {43928#true} {44426#(< ~counter~0 99)} #90#return; {44426#(< ~counter~0 99)} is VALID [2022-04-07 13:52:11,414 INFO L290 TraceCheckUtils]: 95: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,414 INFO L290 TraceCheckUtils]: 94: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,414 INFO L290 TraceCheckUtils]: 93: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,414 INFO L272 TraceCheckUtils]: 92: Hoare triple {44426#(< ~counter~0 99)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43928#true} is VALID [2022-04-07 13:52:11,415 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {43928#true} {44426#(< ~counter~0 99)} #88#return; {44426#(< ~counter~0 99)} is VALID [2022-04-07 13:52:11,415 INFO L290 TraceCheckUtils]: 90: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,415 INFO L290 TraceCheckUtils]: 89: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,415 INFO L290 TraceCheckUtils]: 88: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,415 INFO L272 TraceCheckUtils]: 87: Hoare triple {44426#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43928#true} is VALID [2022-04-07 13:52:11,415 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {43928#true} {44426#(< ~counter~0 99)} #86#return; {44426#(< ~counter~0 99)} is VALID [2022-04-07 13:52:11,415 INFO L290 TraceCheckUtils]: 85: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,415 INFO L290 TraceCheckUtils]: 84: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,415 INFO L290 TraceCheckUtils]: 83: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,415 INFO L272 TraceCheckUtils]: 82: Hoare triple {44426#(< ~counter~0 99)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {43928#true} is VALID [2022-04-07 13:52:11,416 INFO L290 TraceCheckUtils]: 81: Hoare triple {44426#(< ~counter~0 99)} assume !!(#t~post7 < 100);havoc #t~post7; {44426#(< ~counter~0 99)} is VALID [2022-04-07 13:52:11,416 INFO L290 TraceCheckUtils]: 80: Hoare triple {44496#(< ~counter~0 98)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {44426#(< ~counter~0 99)} is VALID [2022-04-07 13:52:11,416 INFO L290 TraceCheckUtils]: 79: Hoare triple {44496#(< ~counter~0 98)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {44496#(< ~counter~0 98)} is VALID [2022-04-07 13:52:11,417 INFO L290 TraceCheckUtils]: 78: Hoare triple {44496#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {44496#(< ~counter~0 98)} is VALID [2022-04-07 13:52:11,417 INFO L290 TraceCheckUtils]: 77: Hoare triple {44506#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44496#(< ~counter~0 98)} is VALID [2022-04-07 13:52:11,417 INFO L290 TraceCheckUtils]: 76: Hoare triple {44506#(< ~counter~0 97)} ~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; {44506#(< ~counter~0 97)} is VALID [2022-04-07 13:52:11,418 INFO L290 TraceCheckUtils]: 75: Hoare triple {44506#(< ~counter~0 97)} assume !(~c~0 >= ~b~0); {44506#(< ~counter~0 97)} is VALID [2022-04-07 13:52:11,418 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {43928#true} {44506#(< ~counter~0 97)} #92#return; {44506#(< ~counter~0 97)} is VALID [2022-04-07 13:52:11,418 INFO L290 TraceCheckUtils]: 73: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,418 INFO L290 TraceCheckUtils]: 72: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,418 INFO L290 TraceCheckUtils]: 71: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,419 INFO L272 TraceCheckUtils]: 70: Hoare triple {44506#(< ~counter~0 97)} 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)); {43928#true} is VALID [2022-04-07 13:52:11,419 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {43928#true} {44506#(< ~counter~0 97)} #90#return; {44506#(< ~counter~0 97)} is VALID [2022-04-07 13:52:11,419 INFO L290 TraceCheckUtils]: 68: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,419 INFO L290 TraceCheckUtils]: 67: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,419 INFO L290 TraceCheckUtils]: 66: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,419 INFO L272 TraceCheckUtils]: 65: Hoare triple {44506#(< ~counter~0 97)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43928#true} is VALID [2022-04-07 13:52:11,420 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {43928#true} {44506#(< ~counter~0 97)} #88#return; {44506#(< ~counter~0 97)} is VALID [2022-04-07 13:52:11,420 INFO L290 TraceCheckUtils]: 63: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,420 INFO L290 TraceCheckUtils]: 62: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,420 INFO L290 TraceCheckUtils]: 61: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,420 INFO L272 TraceCheckUtils]: 60: Hoare triple {44506#(< ~counter~0 97)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43928#true} is VALID [2022-04-07 13:52:11,420 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {43928#true} {44506#(< ~counter~0 97)} #86#return; {44506#(< ~counter~0 97)} is VALID [2022-04-07 13:52:11,421 INFO L290 TraceCheckUtils]: 58: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,421 INFO L290 TraceCheckUtils]: 57: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,421 INFO L290 TraceCheckUtils]: 56: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,421 INFO L272 TraceCheckUtils]: 55: Hoare triple {44506#(< ~counter~0 97)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {43928#true} is VALID [2022-04-07 13:52:11,421 INFO L290 TraceCheckUtils]: 54: Hoare triple {44506#(< ~counter~0 97)} assume !!(#t~post7 < 100);havoc #t~post7; {44506#(< ~counter~0 97)} is VALID [2022-04-07 13:52:11,421 INFO L290 TraceCheckUtils]: 53: Hoare triple {44579#(< ~counter~0 96)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {44506#(< ~counter~0 97)} is VALID [2022-04-07 13:52:11,422 INFO L290 TraceCheckUtils]: 52: Hoare triple {44579#(< ~counter~0 96)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {44579#(< ~counter~0 96)} is VALID [2022-04-07 13:52:11,422 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {43928#true} {44579#(< ~counter~0 96)} #92#return; {44579#(< ~counter~0 96)} is VALID [2022-04-07 13:52:11,422 INFO L290 TraceCheckUtils]: 50: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,422 INFO L290 TraceCheckUtils]: 49: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,422 INFO L290 TraceCheckUtils]: 48: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,423 INFO L272 TraceCheckUtils]: 47: Hoare triple {44579#(< ~counter~0 96)} 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)); {43928#true} is VALID [2022-04-07 13:52:11,423 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {43928#true} {44579#(< ~counter~0 96)} #90#return; {44579#(< ~counter~0 96)} is VALID [2022-04-07 13:52:11,423 INFO L290 TraceCheckUtils]: 45: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,423 INFO L290 TraceCheckUtils]: 44: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,423 INFO L290 TraceCheckUtils]: 43: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,423 INFO L272 TraceCheckUtils]: 42: Hoare triple {44579#(< ~counter~0 96)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43928#true} is VALID [2022-04-07 13:52:11,424 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {43928#true} {44579#(< ~counter~0 96)} #88#return; {44579#(< ~counter~0 96)} is VALID [2022-04-07 13:52:11,424 INFO L290 TraceCheckUtils]: 40: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,424 INFO L290 TraceCheckUtils]: 39: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,424 INFO L290 TraceCheckUtils]: 38: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,424 INFO L272 TraceCheckUtils]: 37: Hoare triple {44579#(< ~counter~0 96)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43928#true} is VALID [2022-04-07 13:52:11,424 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {43928#true} {44579#(< ~counter~0 96)} #86#return; {44579#(< ~counter~0 96)} is VALID [2022-04-07 13:52:11,425 INFO L290 TraceCheckUtils]: 35: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,425 INFO L290 TraceCheckUtils]: 34: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,425 INFO L290 TraceCheckUtils]: 33: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,425 INFO L272 TraceCheckUtils]: 32: Hoare triple {44579#(< ~counter~0 96)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {43928#true} is VALID [2022-04-07 13:52:11,425 INFO L290 TraceCheckUtils]: 31: Hoare triple {44579#(< ~counter~0 96)} assume !!(#t~post7 < 100);havoc #t~post7; {44579#(< ~counter~0 96)} is VALID [2022-04-07 13:52:11,425 INFO L290 TraceCheckUtils]: 30: Hoare triple {44649#(< ~counter~0 95)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {44579#(< ~counter~0 96)} is VALID [2022-04-07 13:52:11,426 INFO L290 TraceCheckUtils]: 29: Hoare triple {44649#(< ~counter~0 95)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {44649#(< ~counter~0 95)} is VALID [2022-04-07 13:52:11,426 INFO L290 TraceCheckUtils]: 28: Hoare triple {44649#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {44649#(< ~counter~0 95)} is VALID [2022-04-07 13:52:11,426 INFO L290 TraceCheckUtils]: 27: Hoare triple {44659#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {44649#(< ~counter~0 95)} is VALID [2022-04-07 13:52:11,427 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {43928#true} {44659#(< ~counter~0 94)} #84#return; {44659#(< ~counter~0 94)} is VALID [2022-04-07 13:52:11,427 INFO L290 TraceCheckUtils]: 25: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,427 INFO L290 TraceCheckUtils]: 24: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,427 INFO L290 TraceCheckUtils]: 23: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,427 INFO L272 TraceCheckUtils]: 22: Hoare triple {44659#(< ~counter~0 94)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {43928#true} is VALID [2022-04-07 13:52:11,427 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {43928#true} {44659#(< ~counter~0 94)} #82#return; {44659#(< ~counter~0 94)} is VALID [2022-04-07 13:52:11,427 INFO L290 TraceCheckUtils]: 20: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,428 INFO L290 TraceCheckUtils]: 19: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,428 INFO L290 TraceCheckUtils]: 18: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,428 INFO L272 TraceCheckUtils]: 17: Hoare triple {44659#(< ~counter~0 94)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {43928#true} is VALID [2022-04-07 13:52:11,428 INFO L290 TraceCheckUtils]: 16: Hoare triple {44659#(< ~counter~0 94)} ~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; {44659#(< ~counter~0 94)} is VALID [2022-04-07 13:52:11,428 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {43928#true} {44659#(< ~counter~0 94)} #80#return; {44659#(< ~counter~0 94)} is VALID [2022-04-07 13:52:11,428 INFO L290 TraceCheckUtils]: 14: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,428 INFO L290 TraceCheckUtils]: 13: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,428 INFO L290 TraceCheckUtils]: 12: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,428 INFO L272 TraceCheckUtils]: 11: Hoare triple {44659#(< ~counter~0 94)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43928#true} is VALID [2022-04-07 13:52:11,429 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {43928#true} {44659#(< ~counter~0 94)} #78#return; {44659#(< ~counter~0 94)} is VALID [2022-04-07 13:52:11,429 INFO L290 TraceCheckUtils]: 9: Hoare triple {43928#true} assume true; {43928#true} is VALID [2022-04-07 13:52:11,429 INFO L290 TraceCheckUtils]: 8: Hoare triple {43928#true} assume !(0 == ~cond); {43928#true} is VALID [2022-04-07 13:52:11,429 INFO L290 TraceCheckUtils]: 7: Hoare triple {43928#true} ~cond := #in~cond; {43928#true} is VALID [2022-04-07 13:52:11,429 INFO L272 TraceCheckUtils]: 6: Hoare triple {44659#(< ~counter~0 94)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43928#true} is VALID [2022-04-07 13:52:11,429 INFO L290 TraceCheckUtils]: 5: Hoare triple {44659#(< ~counter~0 94)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {44659#(< ~counter~0 94)} is VALID [2022-04-07 13:52:11,430 INFO L272 TraceCheckUtils]: 4: Hoare triple {44659#(< ~counter~0 94)} call #t~ret8 := main(); {44659#(< ~counter~0 94)} is VALID [2022-04-07 13:52:11,430 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44659#(< ~counter~0 94)} {43928#true} #98#return; {44659#(< ~counter~0 94)} is VALID [2022-04-07 13:52:11,430 INFO L290 TraceCheckUtils]: 2: Hoare triple {44659#(< ~counter~0 94)} assume true; {44659#(< ~counter~0 94)} is VALID [2022-04-07 13:52:11,431 INFO L290 TraceCheckUtils]: 1: Hoare triple {43928#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);~counter~0 := 0; {44659#(< ~counter~0 94)} is VALID [2022-04-07 13:52:11,431 INFO L272 TraceCheckUtils]: 0: Hoare triple {43928#true} call ULTIMATE.init(); {43928#true} is VALID [2022-04-07 13:52:11,431 INFO L134 CoverageAnalysis]: Checked inductivity of 586 backedges. 32 proven. 50 refuted. 0 times theorem prover too weak. 504 trivial. 0 not checked. [2022-04-07 13:52:11,431 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 13:52:11,431 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1955385435] [2022-04-07 13:52:11,431 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 13:52:11,431 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [280618160] [2022-04-07 13:52:11,431 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [280618160] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 13:52:11,431 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 13:52:11,431 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-07 13:52:11,431 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [436852828] [2022-04-07 13:52:11,432 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 13:52:11,432 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 12 states have call successors, (44), 8 states have call predecessors, (44), 7 states have return successors, (42), 10 states have call predecessors, (42), 11 states have call successors, (42) Word has length 133 [2022-04-07 13:52:11,432 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 13:52:11,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 12 states have call successors, (44), 8 states have call predecessors, (44), 7 states have return successors, (42), 10 states have call predecessors, (42), 11 states have call successors, (42) [2022-04-07 13:52:11,555 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 162 edges. 162 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:52:11,555 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-07 13:52:11,555 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 13:52:11,556 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-07 13:52:11,556 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-07 13:52:11,556 INFO L87 Difference]: Start difference. First operand 1493 states and 1870 transitions. Second operand has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 12 states have call successors, (44), 8 states have call predecessors, (44), 7 states have return successors, (42), 10 states have call predecessors, (42), 11 states have call successors, (42) [2022-04-07 13:52:14,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:52:14,633 INFO L93 Difference]: Finished difference Result 1547 states and 1920 transitions. [2022-04-07 13:52:14,633 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-04-07 13:52:14,633 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 12 states have call successors, (44), 8 states have call predecessors, (44), 7 states have return successors, (42), 10 states have call predecessors, (42), 11 states have call successors, (42) Word has length 133 [2022-04-07 13:52:14,634 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 13:52:14,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 12 states have call successors, (44), 8 states have call predecessors, (44), 7 states have return successors, (42), 10 states have call predecessors, (42), 11 states have call successors, (42) [2022-04-07 13:52:14,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 316 transitions. [2022-04-07 13:52:14,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 12 states have call successors, (44), 8 states have call predecessors, (44), 7 states have return successors, (42), 10 states have call predecessors, (42), 11 states have call successors, (42) [2022-04-07 13:52:14,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 316 transitions. [2022-04-07 13:52:14,638 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 316 transitions. [2022-04-07 13:52:14,876 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 316 edges. 316 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 13:52:14,980 INFO L225 Difference]: With dead ends: 1547 [2022-04-07 13:52:14,980 INFO L226 Difference]: Without dead ends: 1537 [2022-04-07 13:52:14,981 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 277 GetRequests, 249 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 99 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=312, Invalid=558, Unknown=0, NotChecked=0, Total=870 [2022-04-07 13:52:14,982 INFO L913 BasicCegarLoop]: 88 mSDtfsCounter, 318 mSDsluCounter, 346 mSDsCounter, 0 mSdLazyCounter, 216 mSolverCounterSat, 269 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 318 SdHoareTripleChecker+Valid, 434 SdHoareTripleChecker+Invalid, 485 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 269 IncrementalHoareTripleChecker+Valid, 216 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-07 13:52:14,982 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [318 Valid, 434 Invalid, 485 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [269 Valid, 216 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-07 13:52:14,983 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1537 states. [2022-04-07 13:52:16,602 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1537 to 1505. [2022-04-07 13:52:16,602 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 13:52:16,604 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1537 states. Second operand has 1505 states, 968 states have (on average 1.1384297520661157) internal successors, (1102), 975 states have internal predecessors, (1102), 381 states have call successors, (381), 157 states have call predecessors, (381), 155 states have return successors, (378), 372 states have call predecessors, (378), 378 states have call successors, (378) [2022-04-07 13:52:16,605 INFO L74 IsIncluded]: Start isIncluded. First operand 1537 states. Second operand has 1505 states, 968 states have (on average 1.1384297520661157) internal successors, (1102), 975 states have internal predecessors, (1102), 381 states have call successors, (381), 157 states have call predecessors, (381), 155 states have return successors, (378), 372 states have call predecessors, (378), 378 states have call successors, (378) [2022-04-07 13:52:16,606 INFO L87 Difference]: Start difference. First operand 1537 states. Second operand has 1505 states, 968 states have (on average 1.1384297520661157) internal successors, (1102), 975 states have internal predecessors, (1102), 381 states have call successors, (381), 157 states have call predecessors, (381), 155 states have return successors, (378), 372 states have call predecessors, (378), 378 states have call successors, (378) [2022-04-07 13:52:16,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:52:16,672 INFO L93 Difference]: Finished difference Result 1537 states and 1886 transitions. [2022-04-07 13:52:16,672 INFO L276 IsEmpty]: Start isEmpty. Operand 1537 states and 1886 transitions. [2022-04-07 13:52:16,675 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:52:16,675 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:52:16,676 INFO L74 IsIncluded]: Start isIncluded. First operand has 1505 states, 968 states have (on average 1.1384297520661157) internal successors, (1102), 975 states have internal predecessors, (1102), 381 states have call successors, (381), 157 states have call predecessors, (381), 155 states have return successors, (378), 372 states have call predecessors, (378), 378 states have call successors, (378) Second operand 1537 states. [2022-04-07 13:52:16,678 INFO L87 Difference]: Start difference. First operand has 1505 states, 968 states have (on average 1.1384297520661157) internal successors, (1102), 975 states have internal predecessors, (1102), 381 states have call successors, (381), 157 states have call predecessors, (381), 155 states have return successors, (378), 372 states have call predecessors, (378), 378 states have call successors, (378) Second operand 1537 states. [2022-04-07 13:52:16,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 13:52:16,744 INFO L93 Difference]: Finished difference Result 1537 states and 1886 transitions. [2022-04-07 13:52:16,744 INFO L276 IsEmpty]: Start isEmpty. Operand 1537 states and 1886 transitions. [2022-04-07 13:52:16,747 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 13:52:16,747 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 13:52:16,747 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 13:52:16,747 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 13:52:16,749 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1505 states, 968 states have (on average 1.1384297520661157) internal successors, (1102), 975 states have internal predecessors, (1102), 381 states have call successors, (381), 157 states have call predecessors, (381), 155 states have return successors, (378), 372 states have call predecessors, (378), 378 states have call successors, (378) [2022-04-07 13:52:16,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1505 states to 1505 states and 1861 transitions. [2022-04-07 13:52:16,842 INFO L78 Accepts]: Start accepts. Automaton has 1505 states and 1861 transitions. Word has length 133 [2022-04-07 13:52:16,843 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 13:52:16,843 INFO L478 AbstractCegarLoop]: Abstraction has 1505 states and 1861 transitions. [2022-04-07 13:52:16,843 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 4.222222222222222) internal successors, (76), 18 states have internal predecessors, (76), 12 states have call successors, (44), 8 states have call predecessors, (44), 7 states have return successors, (42), 10 states have call predecessors, (42), 11 states have call successors, (42) [2022-04-07 13:52:16,843 INFO L276 IsEmpty]: Start isEmpty. Operand 1505 states and 1861 transitions. [2022-04-07 13:52:16,844 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 135 [2022-04-07 13:52:16,844 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 13:52:16,844 INFO L499 BasicCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 13:52:16,862 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-07 13:52:17,060 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-07 13:52:17,060 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 13:52:17,060 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 13:52:17,060 INFO L85 PathProgramCache]: Analyzing trace with hash 1894865945, now seen corresponding path program 2 times [2022-04-07 13:52:17,061 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 13:52:17,061 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [965335185] [2022-04-07 13:52:17,061 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 13:52:17,061 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 13:52:17,071 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 13:52:17,071 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [137353397] [2022-04-07 13:52:17,072 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 13:52:17,072 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 13:52:17,072 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 13:52:17,072 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 13:52:17,073 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-07 13:52:17,142 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 13:52:17,142 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 13:52:17,143 INFO L263 TraceCheckSpWp]: Trace formula consists of 351 conjuncts, 90 conjunts are in the unsatisfiable core [2022-04-07 13:52:17,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 13:52:17,169 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 13:52:19,963 INFO L272 TraceCheckUtils]: 0: Hoare triple {52299#true} call ULTIMATE.init(); {52299#true} is VALID [2022-04-07 13:52:19,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {52299#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);~counter~0 := 0; {52299#true} is VALID [2022-04-07 13:52:19,964 INFO L290 TraceCheckUtils]: 2: Hoare triple {52299#true} assume true; {52299#true} is VALID [2022-04-07 13:52:19,964 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52299#true} {52299#true} #98#return; {52299#true} is VALID [2022-04-07 13:52:19,964 INFO L272 TraceCheckUtils]: 4: Hoare triple {52299#true} call #t~ret8 := main(); {52299#true} is VALID [2022-04-07 13:52:19,964 INFO L290 TraceCheckUtils]: 5: Hoare triple {52299#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {52299#true} is VALID [2022-04-07 13:52:19,964 INFO L272 TraceCheckUtils]: 6: Hoare triple {52299#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {52299#true} is VALID [2022-04-07 13:52:19,964 INFO L290 TraceCheckUtils]: 7: Hoare triple {52299#true} ~cond := #in~cond; {52299#true} is VALID [2022-04-07 13:52:19,964 INFO L290 TraceCheckUtils]: 8: Hoare triple {52299#true} assume !(0 == ~cond); {52299#true} is VALID [2022-04-07 13:52:19,964 INFO L290 TraceCheckUtils]: 9: Hoare triple {52299#true} assume true; {52299#true} is VALID [2022-04-07 13:52:19,964 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {52299#true} {52299#true} #78#return; {52299#true} is VALID [2022-04-07 13:52:19,964 INFO L272 TraceCheckUtils]: 11: Hoare triple {52299#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {52299#true} is VALID [2022-04-07 13:52:19,964 INFO L290 TraceCheckUtils]: 12: Hoare triple {52299#true} ~cond := #in~cond; {52299#true} is VALID [2022-04-07 13:52:19,964 INFO L290 TraceCheckUtils]: 13: Hoare triple {52299#true} assume !(0 == ~cond); {52299#true} is VALID [2022-04-07 13:52:19,964 INFO L290 TraceCheckUtils]: 14: Hoare triple {52299#true} assume true; {52299#true} is VALID [2022-04-07 13:52:19,964 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {52299#true} {52299#true} #80#return; {52299#true} is VALID [2022-04-07 13:52:19,965 INFO L290 TraceCheckUtils]: 16: Hoare triple {52299#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; {52352#(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-07 13:52:19,965 INFO L272 TraceCheckUtils]: 17: Hoare triple {52352#(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)); {52299#true} is VALID [2022-04-07 13:52:19,965 INFO L290 TraceCheckUtils]: 18: Hoare triple {52299#true} ~cond := #in~cond; {52299#true} is VALID [2022-04-07 13:52:19,965 INFO L290 TraceCheckUtils]: 19: Hoare triple {52299#true} assume !(0 == ~cond); {52299#true} is VALID [2022-04-07 13:52:19,965 INFO L290 TraceCheckUtils]: 20: Hoare triple {52299#true} assume true; {52299#true} is VALID [2022-04-07 13:52:19,965 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {52299#true} {52352#(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))} #82#return; {52352#(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-07 13:52:19,965 INFO L272 TraceCheckUtils]: 22: Hoare triple {52352#(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)); {52299#true} is VALID [2022-04-07 13:52:19,965 INFO L290 TraceCheckUtils]: 23: Hoare triple {52299#true} ~cond := #in~cond; {52299#true} is VALID [2022-04-07 13:52:19,965 INFO L290 TraceCheckUtils]: 24: Hoare triple {52299#true} assume !(0 == ~cond); {52299#true} is VALID [2022-04-07 13:52:19,965 INFO L290 TraceCheckUtils]: 25: Hoare triple {52299#true} assume true; {52299#true} is VALID [2022-04-07 13:52:19,966 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {52299#true} {52352#(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))} #84#return; {52352#(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-07 13:52:19,966 INFO L290 TraceCheckUtils]: 27: Hoare triple {52352#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {52352#(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-07 13:52:19,967 INFO L290 TraceCheckUtils]: 28: Hoare triple {52352#(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 !!(#t~post6 < 100);havoc #t~post6; {52352#(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-07 13:52:19,967 INFO L290 TraceCheckUtils]: 29: Hoare triple {52352#(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; {52392#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-07 13:52:19,967 INFO L290 TraceCheckUtils]: 30: Hoare triple {52392#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {52392#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-07 13:52:19,968 INFO L290 TraceCheckUtils]: 31: Hoare triple {52392#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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 !!(#t~post7 < 100);havoc #t~post7; {52392#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-07 13:52:19,968 INFO L272 TraceCheckUtils]: 32: Hoare triple {52392#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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 __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {52299#true} is VALID [2022-04-07 13:52:19,968 INFO L290 TraceCheckUtils]: 33: Hoare triple {52299#true} ~cond := #in~cond; {52299#true} is VALID [2022-04-07 13:52:19,968 INFO L290 TraceCheckUtils]: 34: Hoare triple {52299#true} assume !(0 == ~cond); {52299#true} is VALID [2022-04-07 13:52:19,968 INFO L290 TraceCheckUtils]: 35: Hoare triple {52299#true} assume true; {52299#true} is VALID [2022-04-07 13:52:19,969 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {52299#true} {52392#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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))} #86#return; {52392#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-07 13:52:19,969 INFO L272 TraceCheckUtils]: 37: Hoare triple {52392#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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 __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {52299#true} is VALID [2022-04-07 13:52:19,969 INFO L290 TraceCheckUtils]: 38: Hoare triple {52299#true} ~cond := #in~cond; {52420#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:52:19,969 INFO L290 TraceCheckUtils]: 39: Hoare triple {52420#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:52:19,969 INFO L290 TraceCheckUtils]: 40: Hoare triple {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:52:19,970 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} {52392#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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))} #88#return; {52431#(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-07 13:52:19,970 INFO L272 TraceCheckUtils]: 42: Hoare triple {52431#(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)); {52299#true} is VALID [2022-04-07 13:52:19,970 INFO L290 TraceCheckUtils]: 43: Hoare triple {52299#true} ~cond := #in~cond; {52420#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:52:19,971 INFO L290 TraceCheckUtils]: 44: Hoare triple {52420#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:52:19,971 INFO L290 TraceCheckUtils]: 45: Hoare triple {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:52:19,971 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} {52431#(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))} #90#return; {52431#(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-07 13:52:19,971 INFO L272 TraceCheckUtils]: 47: Hoare triple {52431#(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)); {52299#true} is VALID [2022-04-07 13:52:19,972 INFO L290 TraceCheckUtils]: 48: Hoare triple {52299#true} ~cond := #in~cond; {52299#true} is VALID [2022-04-07 13:52:19,972 INFO L290 TraceCheckUtils]: 49: Hoare triple {52299#true} assume !(0 == ~cond); {52299#true} is VALID [2022-04-07 13:52:19,972 INFO L290 TraceCheckUtils]: 50: Hoare triple {52299#true} assume true; {52299#true} is VALID [2022-04-07 13:52:19,972 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {52299#true} {52431#(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))} #92#return; {52431#(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-07 13:52:19,973 INFO L290 TraceCheckUtils]: 52: Hoare triple {52431#(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); {52465#(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-07 13:52:19,973 INFO L290 TraceCheckUtils]: 53: Hoare triple {52465#(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; {52469#(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-07 13:52:19,973 INFO L290 TraceCheckUtils]: 54: Hoare triple {52469#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {52469#(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-07 13:52:19,974 INFO L290 TraceCheckUtils]: 55: Hoare triple {52469#(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 !!(#t~post6 < 100);havoc #t~post6; {52469#(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-07 13:52:19,974 INFO L290 TraceCheckUtils]: 56: Hoare triple {52469#(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; {52479#(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-07 13:52:19,975 INFO L290 TraceCheckUtils]: 57: Hoare triple {52479#(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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {52479#(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-07 13:52:19,975 INFO L290 TraceCheckUtils]: 58: Hoare triple {52479#(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 !!(#t~post7 < 100);havoc #t~post7; {52479#(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-07 13:52:19,975 INFO L272 TraceCheckUtils]: 59: Hoare triple {52479#(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)); {52299#true} is VALID [2022-04-07 13:52:19,975 INFO L290 TraceCheckUtils]: 60: Hoare triple {52299#true} ~cond := #in~cond; {52299#true} is VALID [2022-04-07 13:52:19,975 INFO L290 TraceCheckUtils]: 61: Hoare triple {52299#true} assume !(0 == ~cond); {52299#true} is VALID [2022-04-07 13:52:19,975 INFO L290 TraceCheckUtils]: 62: Hoare triple {52299#true} assume true; {52299#true} is VALID [2022-04-07 13:52:19,976 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {52299#true} {52479#(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))} #86#return; {52479#(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-07 13:52:19,976 INFO L272 TraceCheckUtils]: 64: Hoare triple {52479#(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)); {52299#true} is VALID [2022-04-07 13:52:19,976 INFO L290 TraceCheckUtils]: 65: Hoare triple {52299#true} ~cond := #in~cond; {52299#true} is VALID [2022-04-07 13:52:19,976 INFO L290 TraceCheckUtils]: 66: Hoare triple {52299#true} assume !(0 == ~cond); {52299#true} is VALID [2022-04-07 13:52:19,976 INFO L290 TraceCheckUtils]: 67: Hoare triple {52299#true} assume true; {52299#true} is VALID [2022-04-07 13:52:19,976 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {52299#true} {52479#(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))} #88#return; {52479#(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-07 13:52:19,977 INFO L272 TraceCheckUtils]: 69: Hoare triple {52479#(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)); {52299#true} is VALID [2022-04-07 13:52:19,977 INFO L290 TraceCheckUtils]: 70: Hoare triple {52299#true} ~cond := #in~cond; {52299#true} is VALID [2022-04-07 13:52:19,977 INFO L290 TraceCheckUtils]: 71: Hoare triple {52299#true} assume !(0 == ~cond); {52299#true} is VALID [2022-04-07 13:52:19,977 INFO L290 TraceCheckUtils]: 72: Hoare triple {52299#true} assume true; {52299#true} is VALID [2022-04-07 13:52:19,977 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {52299#true} {52479#(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))} #90#return; {52479#(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-07 13:52:19,977 INFO L272 TraceCheckUtils]: 74: Hoare triple {52479#(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)); {52299#true} is VALID [2022-04-07 13:52:19,977 INFO L290 TraceCheckUtils]: 75: Hoare triple {52299#true} ~cond := #in~cond; {52299#true} is VALID [2022-04-07 13:52:19,977 INFO L290 TraceCheckUtils]: 76: Hoare triple {52299#true} assume !(0 == ~cond); {52299#true} is VALID [2022-04-07 13:52:19,977 INFO L290 TraceCheckUtils]: 77: Hoare triple {52299#true} assume true; {52299#true} is VALID [2022-04-07 13:52:19,978 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {52299#true} {52479#(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))} #92#return; {52479#(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-07 13:52:19,979 INFO L290 TraceCheckUtils]: 79: Hoare triple {52479#(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; {52549#(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-07 13:52:19,980 INFO L290 TraceCheckUtils]: 80: Hoare triple {52549#(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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {52549#(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-07 13:52:19,980 INFO L290 TraceCheckUtils]: 81: Hoare triple {52549#(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 !!(#t~post7 < 100);havoc #t~post7; {52549#(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-07 13:52:19,980 INFO L272 TraceCheckUtils]: 82: Hoare triple {52549#(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)); {52299#true} is VALID [2022-04-07 13:52:19,980 INFO L290 TraceCheckUtils]: 83: Hoare triple {52299#true} ~cond := #in~cond; {52299#true} is VALID [2022-04-07 13:52:19,980 INFO L290 TraceCheckUtils]: 84: Hoare triple {52299#true} assume !(0 == ~cond); {52299#true} is VALID [2022-04-07 13:52:19,980 INFO L290 TraceCheckUtils]: 85: Hoare triple {52299#true} assume true; {52299#true} is VALID [2022-04-07 13:52:19,981 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {52299#true} {52549#(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))} #86#return; {52549#(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-07 13:52:19,981 INFO L272 TraceCheckUtils]: 87: Hoare triple {52549#(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)); {52299#true} is VALID [2022-04-07 13:52:19,981 INFO L290 TraceCheckUtils]: 88: Hoare triple {52299#true} ~cond := #in~cond; {52299#true} is VALID [2022-04-07 13:52:19,981 INFO L290 TraceCheckUtils]: 89: Hoare triple {52299#true} assume !(0 == ~cond); {52299#true} is VALID [2022-04-07 13:52:19,981 INFO L290 TraceCheckUtils]: 90: Hoare triple {52299#true} assume true; {52299#true} is VALID [2022-04-07 13:52:19,992 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {52299#true} {52549#(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))} #88#return; {52549#(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-07 13:52:19,992 INFO L272 TraceCheckUtils]: 92: Hoare triple {52549#(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)); {52299#true} is VALID [2022-04-07 13:52:19,992 INFO L290 TraceCheckUtils]: 93: Hoare triple {52299#true} ~cond := #in~cond; {52299#true} is VALID [2022-04-07 13:52:19,992 INFO L290 TraceCheckUtils]: 94: Hoare triple {52299#true} assume !(0 == ~cond); {52299#true} is VALID [2022-04-07 13:52:19,992 INFO L290 TraceCheckUtils]: 95: Hoare triple {52299#true} assume true; {52299#true} is VALID [2022-04-07 13:52:19,993 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {52299#true} {52549#(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))} #90#return; {52549#(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-07 13:52:19,993 INFO L272 TraceCheckUtils]: 97: Hoare triple {52549#(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)); {52299#true} is VALID [2022-04-07 13:52:19,993 INFO L290 TraceCheckUtils]: 98: Hoare triple {52299#true} ~cond := #in~cond; {52299#true} is VALID [2022-04-07 13:52:19,993 INFO L290 TraceCheckUtils]: 99: Hoare triple {52299#true} assume !(0 == ~cond); {52299#true} is VALID [2022-04-07 13:52:19,993 INFO L290 TraceCheckUtils]: 100: Hoare triple {52299#true} assume true; {52299#true} is VALID [2022-04-07 13:52:19,994 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {52299#true} {52549#(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))} #92#return; {52549#(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-07 13:52:19,995 INFO L290 TraceCheckUtils]: 102: Hoare triple {52549#(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; {52619#(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) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 1))} is VALID [2022-04-07 13:52:19,996 INFO L290 TraceCheckUtils]: 103: Hoare triple {52619#(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) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {52619#(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) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 1))} is VALID [2022-04-07 13:52:19,996 INFO L290 TraceCheckUtils]: 104: Hoare triple {52619#(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) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {52619#(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) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 1))} is VALID [2022-04-07 13:52:19,997 INFO L272 TraceCheckUtils]: 105: Hoare triple {52619#(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) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {52299#true} is VALID [2022-04-07 13:52:19,997 INFO L290 TraceCheckUtils]: 106: Hoare triple {52299#true} ~cond := #in~cond; {52420#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:52:19,997 INFO L290 TraceCheckUtils]: 107: Hoare triple {52420#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:52:19,997 INFO L290 TraceCheckUtils]: 108: Hoare triple {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:52:19,998 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} {52619#(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) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 1))} #86#return; {52641#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= 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) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 1))} is VALID [2022-04-07 13:52:19,999 INFO L272 TraceCheckUtils]: 110: Hoare triple {52641#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= 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) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {52299#true} is VALID [2022-04-07 13:52:19,999 INFO L290 TraceCheckUtils]: 111: Hoare triple {52299#true} ~cond := #in~cond; {52420#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:52:19,999 INFO L290 TraceCheckUtils]: 112: Hoare triple {52420#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:52:19,999 INFO L290 TraceCheckUtils]: 113: Hoare triple {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:52:20,001 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} {52641#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= 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) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 1))} #88#return; {52657#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 1))} is VALID [2022-04-07 13:52:20,001 INFO L272 TraceCheckUtils]: 115: Hoare triple {52657#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {52299#true} is VALID [2022-04-07 13:52:20,001 INFO L290 TraceCheckUtils]: 116: Hoare triple {52299#true} ~cond := #in~cond; {52420#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:52:20,002 INFO L290 TraceCheckUtils]: 117: Hoare triple {52420#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:52:20,002 INFO L290 TraceCheckUtils]: 118: Hoare triple {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 13:52:20,003 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {52424#(not (= |__VERIFIER_assert_#in~cond| 0))} {52657#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 1))} #90#return; {52657#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 1))} is VALID [2022-04-07 13:52:20,003 INFO L272 TraceCheckUtils]: 120: Hoare triple {52657#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= 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)); {52299#true} is VALID [2022-04-07 13:52:20,003 INFO L290 TraceCheckUtils]: 121: Hoare triple {52299#true} ~cond := #in~cond; {52299#true} is VALID [2022-04-07 13:52:20,003 INFO L290 TraceCheckUtils]: 122: Hoare triple {52299#true} assume !(0 == ~cond); {52299#true} is VALID [2022-04-07 13:52:20,003 INFO L290 TraceCheckUtils]: 123: Hoare triple {52299#true} assume true; {52299#true} is VALID [2022-04-07 13:52:20,004 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {52299#true} {52657#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 1))} #92#return; {52657#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 1))} is VALID [2022-04-07 13:52:20,004 INFO L290 TraceCheckUtils]: 125: Hoare triple {52657#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 2 main_~k~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 1))} assume !(~c~0 >= ~b~0); {52691#(and (= main_~s~0 0) (= (* main_~x~0 2) (* main_~k~0 main_~x~0)) (= main_~p~0 0) (= (+ main_~c~0 (* main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (< main_~c~0 main_~x~0) (< main_~x~0 (+ main_~c~0 (* main_~k~0 main_~x~0))) (= main_~q~0 1))} is VALID [2022-04-07 13:52:20,006 INFO L290 TraceCheckUtils]: 126: Hoare triple {52691#(and (= main_~s~0 0) (= (* main_~x~0 2) (* main_~k~0 main_~x~0)) (= main_~p~0 0) (= (+ main_~c~0 (* main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (< main_~c~0 main_~x~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; {52695#(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-07 13:52:20,006 INFO L290 TraceCheckUtils]: 127: Hoare triple {52695#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {52695#(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-07 13:52:20,007 INFO L290 TraceCheckUtils]: 128: Hoare triple {52695#(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 !!(#t~post6 < 100);havoc #t~post6; {52695#(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-07 13:52:20,007 INFO L290 TraceCheckUtils]: 129: Hoare triple {52695#(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); {52705#(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-07 13:52:20,008 INFO L272 TraceCheckUtils]: 130: Hoare triple {52705#(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)); {52709#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 13:52:20,008 INFO L290 TraceCheckUtils]: 131: Hoare triple {52709#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {52713#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 13:52:20,008 INFO L290 TraceCheckUtils]: 132: Hoare triple {52713#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {52300#false} is VALID [2022-04-07 13:52:20,008 INFO L290 TraceCheckUtils]: 133: Hoare triple {52300#false} assume !false; {52300#false} is VALID [2022-04-07 13:52:20,009 INFO L134 CoverageAnalysis]: Checked inductivity of 588 backedges. 123 proven. 126 refuted. 0 times theorem prover too weak. 339 trivial. 0 not checked. [2022-04-07 13:52:20,009 INFO L328 TraceCheckSpWp]: Computing backward predicates...