/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_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 13:01:52,117 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 13:01:52,125 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 13:01:52,166 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 13:01:52,166 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 13:01:52,167 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 13:01:52,168 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 13:01:52,169 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 13:01:52,171 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 13:01:52,171 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 13:01:52,172 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 13:01:52,172 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 13:01:52,173 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 13:01:52,173 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 13:01:52,174 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 13:01:52,175 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 13:01:52,175 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 13:01:52,176 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 13:01:52,177 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 13:01:52,178 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 13:01:52,179 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 13:01:52,179 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 13:01:52,180 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 13:01:52,181 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 13:01:52,181 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 13:01:52,183 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 13:01:52,183 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 13:01:52,183 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 13:01:52,184 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 13:01:52,184 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 13:01:52,185 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 13:01:52,185 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 13:01:52,185 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 13:01:52,186 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 13:01:52,186 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 13:01:52,187 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 13:01:52,187 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 13:01:52,188 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 13:01:52,188 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 13:01:52,188 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 13:01:52,188 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 13:01:52,189 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 13:01:52,190 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-27 13:01:52,204 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 13:01:52,204 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 13:01:52,205 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 13:01:52,205 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 13:01:52,205 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 13:01:52,205 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 13:01:52,206 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 13:01:52,206 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 13:01:52,206 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 13:01:52,206 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 13:01:52,206 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 13:01:52,206 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 13:01:52,206 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 13:01:52,206 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 13:01:52,207 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 13:01:52,207 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 13:01:52,207 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 13:01:52,207 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 13:01:52,207 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 13:01:52,207 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 13:01:52,207 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 13:01:52,207 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 13:01:52,207 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 13:01:52,208 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 13:01:52,208 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:01:52,208 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 13:01:52,208 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 13:01:52,208 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 13:01:52,208 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 13:01:52,208 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 13:01:52,208 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 13:01:52,208 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 13:01:52,208 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 13:01:52,209 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-27 13:01:52,401 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 13:01:52,422 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 13:01:52,424 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 13:01:52,425 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 13:01:52,426 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 13:01:52,426 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound1.c [2022-04-27 13:01:52,477 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a6d69fbd1/f3dc9ce21bcd421fbdf1614ecef5bcea/FLAGee4fd23eb [2022-04-27 13:01:52,818 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 13:01:52,818 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound1.c [2022-04-27 13:01:52,823 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a6d69fbd1/f3dc9ce21bcd421fbdf1614ecef5bcea/FLAGee4fd23eb [2022-04-27 13:01:52,831 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a6d69fbd1/f3dc9ce21bcd421fbdf1614ecef5bcea [2022-04-27 13:01:52,833 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 13:01:52,834 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 13:01:52,836 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 13:01:52,836 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 13:01:52,839 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 13:01:52,839 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:01:52" (1/1) ... [2022-04-27 13:01:52,840 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@20876bc5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:01:52, skipping insertion in model container [2022-04-27 13:01:52,840 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:01:52" (1/1) ... [2022-04-27 13:01:52,846 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 13:01:52,859 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 13:01:52,995 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_valuebound1.c[490,503] [2022-04-27 13:01:53,013 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:01:53,020 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 13:01:53,038 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_valuebound1.c[490,503] [2022-04-27 13:01:53,061 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:01:53,071 INFO L208 MainTranslator]: Completed translation [2022-04-27 13:01:53,071 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:01:53 WrapperNode [2022-04-27 13:01:53,071 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 13:01:53,072 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 13:01:53,072 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 13:01:53,072 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 13:01:53,079 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:01:53" (1/1) ... [2022-04-27 13:01:53,079 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:01:53" (1/1) ... [2022-04-27 13:01:53,085 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:01:53" (1/1) ... [2022-04-27 13:01:53,086 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:01:53" (1/1) ... [2022-04-27 13:01:53,097 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:01:53" (1/1) ... [2022-04-27 13:01:53,101 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:01:53" (1/1) ... [2022-04-27 13:01:53,102 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:01:53" (1/1) ... [2022-04-27 13:01:53,104 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 13:01:53,104 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 13:01:53,104 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 13:01:53,104 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 13:01:53,105 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:01:53" (1/1) ... [2022-04-27 13:01:53,112 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:01:53,122 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:01:53,133 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-27 13:01:53,140 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-27 13:01:53,164 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 13:01:53,165 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 13:01:53,165 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 13:01:53,165 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 13:01:53,166 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 13:01:53,167 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 13:01:53,167 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 13:01:53,167 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 13:01:53,167 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 13:01:53,167 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 13:01:53,167 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 13:01:53,167 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 13:01:53,167 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 13:01:53,168 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 13:01:53,168 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 13:01:53,168 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 13:01:53,168 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 13:01:53,168 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 13:01:53,168 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 13:01:53,168 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 13:01:53,217 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 13:01:53,218 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 13:01:53,446 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 13:01:53,453 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 13:01:53,454 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-27 13:01:53,455 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:01:53 BoogieIcfgContainer [2022-04-27 13:01:53,456 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 13:01:53,457 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 13:01:53,458 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 13:01:53,474 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 13:01:53,474 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 01:01:52" (1/3) ... [2022-04-27 13:01:53,475 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@47416805 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:01:53, skipping insertion in model container [2022-04-27 13:01:53,475 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:01:53" (2/3) ... [2022-04-27 13:01:53,475 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@47416805 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:01:53, skipping insertion in model container [2022-04-27 13:01:53,475 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:01:53" (3/3) ... [2022-04-27 13:01:53,477 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll_valuebound1.c [2022-04-27 13:01:53,494 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 13:01:53,494 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 13:01:53,547 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 13:01:53,555 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@13d8ec6, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@60e5994 [2022-04-27 13:01:53,556 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 13:01:53,562 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 13:01:53,568 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-27 13:01:53,568 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:01:53,569 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:01:53,569 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:01:53,574 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:01:53,575 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 1 times [2022-04-27 13:01:53,581 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:01:53,582 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1441840315] [2022-04-27 13:01:53,582 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:01:53,583 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:01:53,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:01:53,763 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:01:53,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:01:53,781 INFO L290 TraceCheckUtils]: 0: Hoare triple {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-27 13:01:53,781 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-27 13:01:53,781 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-27 13:01:53,782 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:01:53,786 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:01:53,794 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:01:53,795 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:01:53,796 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:01:53,796 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-27 13:01:53,796 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:01:53,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:01:53,809 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:01:53,809 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:01:53,810 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:01:53,810 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-27 13:01:53,810 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:01:53,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:01:53,820 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:01:53,821 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:01:53,821 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:01:53,821 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-27 13:01:53,822 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-27 13:01:53,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:01:53,838 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:01:53,840 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:01:53,840 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:01:53,840 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-27 13:01:53,840 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-27 13:01:53,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:01:53,846 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:01:53,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:01:53,848 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:01:53,849 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-27 13:01:53,849 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-04-27 13:01:53,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:01:53,857 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:01:53,858 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:01:53,858 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:01:53,858 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-27 13:01:53,859 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:01:53,860 INFO L290 TraceCheckUtils]: 1: Hoare triple {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-27 13:01:53,860 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-27 13:01:53,860 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-27 13:01:53,860 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-27 13:01:53,861 INFO L290 TraceCheckUtils]: 5: Hoare triple {43#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43#true} is VALID [2022-04-27 13:01:53,861 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {43#true} is VALID [2022-04-27 13:01:53,861 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:01:53,863 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:01:53,863 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:01:53,863 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-27 13:01:53,864 INFO L290 TraceCheckUtils]: 11: Hoare triple {44#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {44#false} is VALID [2022-04-27 13:01:53,864 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {43#true} is VALID [2022-04-27 13:01:53,864 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:01:53,865 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:01:53,865 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:01:53,865 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-27 13:01:53,865 INFO L272 TraceCheckUtils]: 17: Hoare triple {44#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-27 13:01:53,866 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:01:53,867 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:01:53,869 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:01:53,869 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-27 13:01:53,870 INFO L272 TraceCheckUtils]: 22: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-27 13:01:53,870 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:01:53,871 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:01:53,872 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:01:53,872 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-27 13:01:53,873 INFO L290 TraceCheckUtils]: 27: Hoare triple {44#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {44#false} is VALID [2022-04-27 13:01:53,873 INFO L272 TraceCheckUtils]: 28: Hoare triple {44#false} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {43#true} is VALID [2022-04-27 13:01:53,873 INFO L290 TraceCheckUtils]: 29: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:01:53,874 INFO L290 TraceCheckUtils]: 30: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:01:53,874 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:01:53,874 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-27 13:01:53,874 INFO L272 TraceCheckUtils]: 33: Hoare triple {44#false} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {43#true} is VALID [2022-04-27 13:01:53,875 INFO L290 TraceCheckUtils]: 34: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:01:53,876 INFO L290 TraceCheckUtils]: 35: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:01:53,878 INFO L290 TraceCheckUtils]: 36: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:01:53,878 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-27 13:01:53,884 INFO L290 TraceCheckUtils]: 38: Hoare triple {44#false} assume !true; {44#false} is VALID [2022-04-27 13:01:53,884 INFO L272 TraceCheckUtils]: 39: Hoare triple {44#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {44#false} is VALID [2022-04-27 13:01:53,884 INFO L290 TraceCheckUtils]: 40: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-27 13:01:53,884 INFO L290 TraceCheckUtils]: 41: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-27 13:01:53,885 INFO L290 TraceCheckUtils]: 42: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-27 13:01:53,885 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-27 13:01:53,886 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:01:53,886 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1441840315] [2022-04-27 13:01:53,887 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1441840315] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:01:53,887 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:01:53,887 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 13:01:53,890 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1882722713] [2022-04-27 13:01:53,891 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:01:53,896 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-27 13:01:53,897 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:01:53,900 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:01:53,939 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:01:53,939 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 13:01:53,939 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:01:53,959 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 13:01:53,960 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:01:53,963 INFO L87 Difference]: Start difference. First operand has 40 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:01:54,138 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:01:54,138 INFO L93 Difference]: Finished difference Result 73 states and 118 transitions. [2022-04-27 13:01:54,138 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 13:01:54,139 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-27 13:01:54,139 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:01:54,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:01:54,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-27 13:01:54,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:01:54,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-27 13:01:54,152 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 118 transitions. [2022-04-27 13:01:54,260 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:01:54,266 INFO L225 Difference]: With dead ends: 73 [2022-04-27 13:01:54,267 INFO L226 Difference]: Without dead ends: 35 [2022-04-27 13:01:54,269 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:01:54,271 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 14 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 42 SdHoareTripleChecker+Invalid, 27 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 14 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:01:54,272 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 42 Invalid, 27 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 14 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:01:54,283 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-27 13:01:54,293 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-27 13:01:54,293 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:01:54,294 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:01:54,295 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:01:54,295 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:01:54,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:01:54,298 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-27 13:01:54,298 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-27 13:01:54,299 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:01:54,299 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:01:54,299 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 35 states. [2022-04-27 13:01:54,299 INFO L87 Difference]: Start difference. First operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 35 states. [2022-04-27 13:01:54,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:01:54,302 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-27 13:01:54,302 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-27 13:01:54,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:01:54,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:01:54,303 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:01:54,303 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:01:54,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:01:54,316 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 46 transitions. [2022-04-27 13:01:54,317 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 46 transitions. Word has length 43 [2022-04-27 13:01:54,317 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:01:54,317 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 46 transitions. [2022-04-27 13:01:54,318 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:01:54,318 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-27 13:01:54,319 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-27 13:01:54,319 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:01:54,319 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:01:54,319 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 13:01:54,319 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:01:54,319 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:01:54,320 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 1 times [2022-04-27 13:01:54,320 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:01:54,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1280600443] [2022-04-27 13:01:54,320 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:01:54,320 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:01:54,343 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:01:54,343 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [804600484] [2022-04-27 13:01:54,344 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:01:54,344 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:01:54,344 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:01:54,345 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:01:54,346 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-27 13:01:54,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:01:54,404 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:01:54,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:01:54,430 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:01:54,607 INFO L272 TraceCheckUtils]: 0: Hoare triple {308#true} call ULTIMATE.init(); {308#true} is VALID [2022-04-27 13:01:54,607 INFO L290 TraceCheckUtils]: 1: Hoare triple {308#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {308#true} is VALID [2022-04-27 13:01:54,608 INFO L290 TraceCheckUtils]: 2: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:01:54,608 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {308#true} {308#true} #103#return; {308#true} is VALID [2022-04-27 13:01:54,608 INFO L272 TraceCheckUtils]: 4: Hoare triple {308#true} call #t~ret6 := main(); {308#true} is VALID [2022-04-27 13:01:54,608 INFO L290 TraceCheckUtils]: 5: Hoare triple {308#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {308#true} is VALID [2022-04-27 13:01:54,608 INFO L272 TraceCheckUtils]: 6: Hoare triple {308#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {308#true} is VALID [2022-04-27 13:01:54,608 INFO L290 TraceCheckUtils]: 7: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:01:54,608 INFO L290 TraceCheckUtils]: 8: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:01:54,608 INFO L290 TraceCheckUtils]: 9: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:01:54,609 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {308#true} {308#true} #79#return; {308#true} is VALID [2022-04-27 13:01:54,609 INFO L290 TraceCheckUtils]: 11: Hoare triple {308#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {308#true} is VALID [2022-04-27 13:01:54,609 INFO L272 TraceCheckUtils]: 12: Hoare triple {308#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {308#true} is VALID [2022-04-27 13:01:54,609 INFO L290 TraceCheckUtils]: 13: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:01:54,609 INFO L290 TraceCheckUtils]: 14: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:01:54,609 INFO L290 TraceCheckUtils]: 15: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:01:54,609 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {308#true} {308#true} #81#return; {308#true} is VALID [2022-04-27 13:01:54,609 INFO L272 TraceCheckUtils]: 17: Hoare triple {308#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {308#true} is VALID [2022-04-27 13:01:54,609 INFO L290 TraceCheckUtils]: 18: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:01:54,610 INFO L290 TraceCheckUtils]: 19: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:01:54,610 INFO L290 TraceCheckUtils]: 20: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:01:54,610 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {308#true} {308#true} #83#return; {308#true} is VALID [2022-04-27 13:01:54,610 INFO L272 TraceCheckUtils]: 22: Hoare triple {308#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {308#true} is VALID [2022-04-27 13:01:54,610 INFO L290 TraceCheckUtils]: 23: Hoare triple {308#true} ~cond := #in~cond; {382#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:01:54,611 INFO L290 TraceCheckUtils]: 24: Hoare triple {382#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {386#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:01:54,611 INFO L290 TraceCheckUtils]: 25: Hoare triple {386#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {386#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:01:54,612 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {386#(not (= |assume_abort_if_not_#in~cond| 0))} {308#true} #85#return; {393#(<= 1 main_~y~0)} is VALID [2022-04-27 13:01:54,612 INFO L290 TraceCheckUtils]: 27: Hoare triple {393#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:01:54,612 INFO L272 TraceCheckUtils]: 28: Hoare triple {397#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {308#true} is VALID [2022-04-27 13:01:54,612 INFO L290 TraceCheckUtils]: 29: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:01:54,613 INFO L290 TraceCheckUtils]: 30: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:01:54,613 INFO L290 TraceCheckUtils]: 31: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:01:54,613 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {308#true} {397#(<= 1 main_~b~0)} #87#return; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:01:54,613 INFO L272 TraceCheckUtils]: 33: Hoare triple {397#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {308#true} is VALID [2022-04-27 13:01:54,613 INFO L290 TraceCheckUtils]: 34: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:01:54,614 INFO L290 TraceCheckUtils]: 35: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:01:54,614 INFO L290 TraceCheckUtils]: 36: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:01:54,614 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {308#true} {397#(<= 1 main_~b~0)} #89#return; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:01:54,615 INFO L290 TraceCheckUtils]: 38: Hoare triple {397#(<= 1 main_~b~0)} assume !false; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:01:54,615 INFO L290 TraceCheckUtils]: 39: Hoare triple {397#(<= 1 main_~b~0)} assume !(0 != ~b~0); {309#false} is VALID [2022-04-27 13:01:54,615 INFO L272 TraceCheckUtils]: 40: Hoare triple {309#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {309#false} is VALID [2022-04-27 13:01:54,615 INFO L290 TraceCheckUtils]: 41: Hoare triple {309#false} ~cond := #in~cond; {309#false} is VALID [2022-04-27 13:01:54,615 INFO L290 TraceCheckUtils]: 42: Hoare triple {309#false} assume 0 == ~cond; {309#false} is VALID [2022-04-27 13:01:54,615 INFO L290 TraceCheckUtils]: 43: Hoare triple {309#false} assume !false; {309#false} is VALID [2022-04-27 13:01:54,616 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-27 13:01:54,616 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:01:54,857 INFO L290 TraceCheckUtils]: 43: Hoare triple {309#false} assume !false; {309#false} is VALID [2022-04-27 13:01:54,857 INFO L290 TraceCheckUtils]: 42: Hoare triple {309#false} assume 0 == ~cond; {309#false} is VALID [2022-04-27 13:01:54,857 INFO L290 TraceCheckUtils]: 41: Hoare triple {309#false} ~cond := #in~cond; {309#false} is VALID [2022-04-27 13:01:54,857 INFO L272 TraceCheckUtils]: 40: Hoare triple {309#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {309#false} is VALID [2022-04-27 13:01:54,862 INFO L290 TraceCheckUtils]: 39: Hoare triple {397#(<= 1 main_~b~0)} assume !(0 != ~b~0); {309#false} is VALID [2022-04-27 13:01:54,862 INFO L290 TraceCheckUtils]: 38: Hoare triple {397#(<= 1 main_~b~0)} assume !false; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:01:54,863 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {308#true} {397#(<= 1 main_~b~0)} #89#return; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:01:54,863 INFO L290 TraceCheckUtils]: 36: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:01:54,863 INFO L290 TraceCheckUtils]: 35: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:01:54,863 INFO L290 TraceCheckUtils]: 34: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:01:54,863 INFO L272 TraceCheckUtils]: 33: Hoare triple {397#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {308#true} is VALID [2022-04-27 13:01:54,864 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {308#true} {397#(<= 1 main_~b~0)} #87#return; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:01:54,864 INFO L290 TraceCheckUtils]: 31: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:01:54,864 INFO L290 TraceCheckUtils]: 30: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:01:54,864 INFO L290 TraceCheckUtils]: 29: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:01:54,864 INFO L272 TraceCheckUtils]: 28: Hoare triple {397#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {308#true} is VALID [2022-04-27 13:01:54,865 INFO L290 TraceCheckUtils]: 27: Hoare triple {393#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {397#(<= 1 main_~b~0)} is VALID [2022-04-27 13:01:54,865 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {386#(not (= |assume_abort_if_not_#in~cond| 0))} {308#true} #85#return; {393#(<= 1 main_~y~0)} is VALID [2022-04-27 13:01:54,866 INFO L290 TraceCheckUtils]: 25: Hoare triple {386#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {386#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:01:54,866 INFO L290 TraceCheckUtils]: 24: Hoare triple {506#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {386#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:01:54,866 INFO L290 TraceCheckUtils]: 23: Hoare triple {308#true} ~cond := #in~cond; {506#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:01:54,866 INFO L272 TraceCheckUtils]: 22: Hoare triple {308#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {308#true} is VALID [2022-04-27 13:01:54,867 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {308#true} {308#true} #83#return; {308#true} is VALID [2022-04-27 13:01:54,867 INFO L290 TraceCheckUtils]: 20: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:01:54,867 INFO L290 TraceCheckUtils]: 19: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:01:54,867 INFO L290 TraceCheckUtils]: 18: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:01:54,867 INFO L272 TraceCheckUtils]: 17: Hoare triple {308#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {308#true} is VALID [2022-04-27 13:01:54,867 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {308#true} {308#true} #81#return; {308#true} is VALID [2022-04-27 13:01:54,867 INFO L290 TraceCheckUtils]: 15: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:01:54,867 INFO L290 TraceCheckUtils]: 14: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:01:54,867 INFO L290 TraceCheckUtils]: 13: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:01:54,867 INFO L272 TraceCheckUtils]: 12: Hoare triple {308#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {308#true} is VALID [2022-04-27 13:01:54,868 INFO L290 TraceCheckUtils]: 11: Hoare triple {308#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {308#true} is VALID [2022-04-27 13:01:54,868 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {308#true} {308#true} #79#return; {308#true} is VALID [2022-04-27 13:01:54,868 INFO L290 TraceCheckUtils]: 9: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:01:54,868 INFO L290 TraceCheckUtils]: 8: Hoare triple {308#true} assume !(0 == ~cond); {308#true} is VALID [2022-04-27 13:01:54,868 INFO L290 TraceCheckUtils]: 7: Hoare triple {308#true} ~cond := #in~cond; {308#true} is VALID [2022-04-27 13:01:54,868 INFO L272 TraceCheckUtils]: 6: Hoare triple {308#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {308#true} is VALID [2022-04-27 13:01:54,868 INFO L290 TraceCheckUtils]: 5: Hoare triple {308#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {308#true} is VALID [2022-04-27 13:01:54,868 INFO L272 TraceCheckUtils]: 4: Hoare triple {308#true} call #t~ret6 := main(); {308#true} is VALID [2022-04-27 13:01:54,868 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {308#true} {308#true} #103#return; {308#true} is VALID [2022-04-27 13:01:54,869 INFO L290 TraceCheckUtils]: 2: Hoare triple {308#true} assume true; {308#true} is VALID [2022-04-27 13:01:54,869 INFO L290 TraceCheckUtils]: 1: Hoare triple {308#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {308#true} is VALID [2022-04-27 13:01:54,869 INFO L272 TraceCheckUtils]: 0: Hoare triple {308#true} call ULTIMATE.init(); {308#true} is VALID [2022-04-27 13:01:54,869 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-27 13:01:54,869 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:01:54,869 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1280600443] [2022-04-27 13:01:54,869 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:01:54,870 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [804600484] [2022-04-27 13:01:54,870 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [804600484] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:01:54,870 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:01:54,870 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-27 13:01:54,871 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1917815090] [2022-04-27 13:01:54,871 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:01:54,871 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-27 13:01:54,872 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:01:54,872 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:01:54,894 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:01:54,894 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-27 13:01:54,894 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:01:54,895 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-27 13:01:54,895 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-27 13:01:54,895 INFO L87 Difference]: Start difference. First operand 35 states and 46 transitions. Second operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:01:55,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:01:55,170 INFO L93 Difference]: Finished difference Result 52 states and 69 transitions. [2022-04-27 13:01:55,170 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 13:01:55,171 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-27 13:01:55,171 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:01:55,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:01:55,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-27 13:01:55,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:01:55,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-27 13:01:55,175 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-27 13:01:55,222 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:01:55,224 INFO L225 Difference]: With dead ends: 52 [2022-04-27 13:01:55,224 INFO L226 Difference]: Without dead ends: 44 [2022-04-27 13:01:55,224 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 81 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:01:55,225 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 19 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 90 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 101 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 90 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:01:55,226 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 128 Invalid, 101 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 90 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:01:55,226 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-27 13:01:55,239 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-27 13:01:55,239 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:01:55,240 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:01:55,240 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:01:55,240 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:01:55,242 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:01:55,243 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-27 13:01:55,243 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-27 13:01:55,243 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:01:55,244 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:01:55,244 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 44 states. [2022-04-27 13:01:55,244 INFO L87 Difference]: Start difference. First operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 44 states. [2022-04-27 13:01:55,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:01:55,252 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-27 13:01:55,252 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-27 13:01:55,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:01:55,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:01:55,254 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:01:55,255 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:01:55,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:01:55,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 48 transitions. [2022-04-27 13:01:55,260 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 48 transitions. Word has length 44 [2022-04-27 13:01:55,261 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:01:55,261 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 48 transitions. [2022-04-27 13:01:55,261 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:01:55,261 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-04-27 13:01:55,265 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-27 13:01:55,266 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:01:55,266 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:01:55,288 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-27 13:01:55,476 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:01:55,477 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:01:55,477 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:01:55,477 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 1 times [2022-04-27 13:01:55,477 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:01:55,478 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [200083829] [2022-04-27 13:01:55,478 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:01:55,478 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:01:55,495 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:01:55,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [179291378] [2022-04-27 13:01:55,495 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:01:55,495 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:01:55,496 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:01:55,506 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:01:55,507 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-27 13:01:55,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:01:55,546 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 13:01:55,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:01:55,566 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:01:55,750 INFO L272 TraceCheckUtils]: 0: Hoare triple {809#true} call ULTIMATE.init(); {809#true} is VALID [2022-04-27 13:01:55,753 INFO L290 TraceCheckUtils]: 1: Hoare triple {809#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {809#true} is VALID [2022-04-27 13:01:55,753 INFO L290 TraceCheckUtils]: 2: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:01:55,754 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {809#true} {809#true} #103#return; {809#true} is VALID [2022-04-27 13:01:55,754 INFO L272 TraceCheckUtils]: 4: Hoare triple {809#true} call #t~ret6 := main(); {809#true} is VALID [2022-04-27 13:01:55,754 INFO L290 TraceCheckUtils]: 5: Hoare triple {809#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {809#true} is VALID [2022-04-27 13:01:55,754 INFO L272 TraceCheckUtils]: 6: Hoare triple {809#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {809#true} is VALID [2022-04-27 13:01:55,754 INFO L290 TraceCheckUtils]: 7: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:01:55,754 INFO L290 TraceCheckUtils]: 8: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:01:55,754 INFO L290 TraceCheckUtils]: 9: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:01:55,754 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {809#true} {809#true} #79#return; {809#true} is VALID [2022-04-27 13:01:55,754 INFO L290 TraceCheckUtils]: 11: Hoare triple {809#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {809#true} is VALID [2022-04-27 13:01:55,754 INFO L272 TraceCheckUtils]: 12: Hoare triple {809#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {809#true} is VALID [2022-04-27 13:01:55,755 INFO L290 TraceCheckUtils]: 13: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:01:55,755 INFO L290 TraceCheckUtils]: 14: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:01:55,755 INFO L290 TraceCheckUtils]: 15: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:01:55,755 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {809#true} {809#true} #81#return; {809#true} is VALID [2022-04-27 13:01:55,756 INFO L272 TraceCheckUtils]: 17: Hoare triple {809#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {809#true} is VALID [2022-04-27 13:01:55,757 INFO L290 TraceCheckUtils]: 18: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:01:55,757 INFO L290 TraceCheckUtils]: 19: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:01:55,757 INFO L290 TraceCheckUtils]: 20: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:01:55,757 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {809#true} {809#true} #83#return; {809#true} is VALID [2022-04-27 13:01:55,757 INFO L272 TraceCheckUtils]: 22: Hoare triple {809#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {809#true} is VALID [2022-04-27 13:01:55,758 INFO L290 TraceCheckUtils]: 23: Hoare triple {809#true} ~cond := #in~cond; {883#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:01:55,758 INFO L290 TraceCheckUtils]: 24: Hoare triple {883#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {887#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:01:55,759 INFO L290 TraceCheckUtils]: 25: Hoare triple {887#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {887#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:01:55,759 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {887#(not (= |assume_abort_if_not_#in~cond| 0))} {809#true} #85#return; {894#(<= 1 main_~y~0)} is VALID [2022-04-27 13:01:55,760 INFO L290 TraceCheckUtils]: 27: Hoare triple {894#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {898#(<= 1 main_~b~0)} is VALID [2022-04-27 13:01:55,760 INFO L272 TraceCheckUtils]: 28: Hoare triple {898#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {809#true} is VALID [2022-04-27 13:01:55,760 INFO L290 TraceCheckUtils]: 29: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:01:55,760 INFO L290 TraceCheckUtils]: 30: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:01:55,760 INFO L290 TraceCheckUtils]: 31: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:01:55,761 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {809#true} {898#(<= 1 main_~b~0)} #87#return; {898#(<= 1 main_~b~0)} is VALID [2022-04-27 13:01:55,761 INFO L272 TraceCheckUtils]: 33: Hoare triple {898#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {809#true} is VALID [2022-04-27 13:01:55,761 INFO L290 TraceCheckUtils]: 34: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:01:55,761 INFO L290 TraceCheckUtils]: 35: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:01:55,761 INFO L290 TraceCheckUtils]: 36: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:01:55,761 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {809#true} {898#(<= 1 main_~b~0)} #89#return; {898#(<= 1 main_~b~0)} is VALID [2022-04-27 13:01:55,762 INFO L290 TraceCheckUtils]: 38: Hoare triple {898#(<= 1 main_~b~0)} assume !false; {898#(<= 1 main_~b~0)} is VALID [2022-04-27 13:01:55,762 INFO L290 TraceCheckUtils]: 39: Hoare triple {898#(<= 1 main_~b~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {935#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-27 13:01:55,763 INFO L290 TraceCheckUtils]: 40: Hoare triple {935#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} assume !false; {935#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-27 13:01:55,763 INFO L272 TraceCheckUtils]: 41: Hoare triple {935#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {942#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:01:55,764 INFO L290 TraceCheckUtils]: 42: Hoare triple {942#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {946#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:01:55,764 INFO L290 TraceCheckUtils]: 43: Hoare triple {946#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {810#false} is VALID [2022-04-27 13:01:55,764 INFO L290 TraceCheckUtils]: 44: Hoare triple {810#false} assume !false; {810#false} is VALID [2022-04-27 13:01:55,765 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-27 13:01:55,765 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:01:55,970 INFO L290 TraceCheckUtils]: 44: Hoare triple {810#false} assume !false; {810#false} is VALID [2022-04-27 13:01:55,971 INFO L290 TraceCheckUtils]: 43: Hoare triple {946#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {810#false} is VALID [2022-04-27 13:01:55,979 INFO L290 TraceCheckUtils]: 42: Hoare triple {942#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {946#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:01:55,980 INFO L272 TraceCheckUtils]: 41: Hoare triple {962#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {942#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:01:55,981 INFO L290 TraceCheckUtils]: 40: Hoare triple {962#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {962#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-27 13:01:55,984 INFO L290 TraceCheckUtils]: 39: Hoare triple {809#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {962#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-27 13:01:55,984 INFO L290 TraceCheckUtils]: 38: Hoare triple {809#true} assume !false; {809#true} is VALID [2022-04-27 13:01:55,984 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {809#true} {809#true} #89#return; {809#true} is VALID [2022-04-27 13:01:55,984 INFO L290 TraceCheckUtils]: 36: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:01:55,984 INFO L290 TraceCheckUtils]: 35: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:01:55,984 INFO L290 TraceCheckUtils]: 34: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:01:55,985 INFO L272 TraceCheckUtils]: 33: Hoare triple {809#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {809#true} is VALID [2022-04-27 13:01:55,985 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {809#true} {809#true} #87#return; {809#true} is VALID [2022-04-27 13:01:55,985 INFO L290 TraceCheckUtils]: 31: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:01:55,985 INFO L290 TraceCheckUtils]: 30: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:01:55,985 INFO L290 TraceCheckUtils]: 29: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:01:55,985 INFO L272 TraceCheckUtils]: 28: Hoare triple {809#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {809#true} is VALID [2022-04-27 13:01:55,985 INFO L290 TraceCheckUtils]: 27: Hoare triple {809#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {809#true} is VALID [2022-04-27 13:01:55,985 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {809#true} {809#true} #85#return; {809#true} is VALID [2022-04-27 13:01:55,985 INFO L290 TraceCheckUtils]: 25: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:01:55,985 INFO L290 TraceCheckUtils]: 24: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:01:55,985 INFO L290 TraceCheckUtils]: 23: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:01:55,986 INFO L272 TraceCheckUtils]: 22: Hoare triple {809#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {809#true} is VALID [2022-04-27 13:01:55,986 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {809#true} {809#true} #83#return; {809#true} is VALID [2022-04-27 13:01:55,986 INFO L290 TraceCheckUtils]: 20: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:01:55,986 INFO L290 TraceCheckUtils]: 19: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:01:55,986 INFO L290 TraceCheckUtils]: 18: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:01:55,986 INFO L272 TraceCheckUtils]: 17: Hoare triple {809#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {809#true} is VALID [2022-04-27 13:01:55,986 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {809#true} {809#true} #81#return; {809#true} is VALID [2022-04-27 13:01:55,986 INFO L290 TraceCheckUtils]: 15: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:01:55,986 INFO L290 TraceCheckUtils]: 14: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:01:55,986 INFO L290 TraceCheckUtils]: 13: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:01:55,987 INFO L272 TraceCheckUtils]: 12: Hoare triple {809#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {809#true} is VALID [2022-04-27 13:01:55,987 INFO L290 TraceCheckUtils]: 11: Hoare triple {809#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {809#true} is VALID [2022-04-27 13:01:55,987 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {809#true} {809#true} #79#return; {809#true} is VALID [2022-04-27 13:01:55,987 INFO L290 TraceCheckUtils]: 9: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:01:55,987 INFO L290 TraceCheckUtils]: 8: Hoare triple {809#true} assume !(0 == ~cond); {809#true} is VALID [2022-04-27 13:01:55,987 INFO L290 TraceCheckUtils]: 7: Hoare triple {809#true} ~cond := #in~cond; {809#true} is VALID [2022-04-27 13:01:55,987 INFO L272 TraceCheckUtils]: 6: Hoare triple {809#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {809#true} is VALID [2022-04-27 13:01:55,987 INFO L290 TraceCheckUtils]: 5: Hoare triple {809#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {809#true} is VALID [2022-04-27 13:01:55,987 INFO L272 TraceCheckUtils]: 4: Hoare triple {809#true} call #t~ret6 := main(); {809#true} is VALID [2022-04-27 13:01:55,987 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {809#true} {809#true} #103#return; {809#true} is VALID [2022-04-27 13:01:55,987 INFO L290 TraceCheckUtils]: 2: Hoare triple {809#true} assume true; {809#true} is VALID [2022-04-27 13:01:55,988 INFO L290 TraceCheckUtils]: 1: Hoare triple {809#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {809#true} is VALID [2022-04-27 13:01:55,988 INFO L272 TraceCheckUtils]: 0: Hoare triple {809#true} call ULTIMATE.init(); {809#true} is VALID [2022-04-27 13:01:55,988 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-27 13:01:55,988 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:01:55,988 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [200083829] [2022-04-27 13:01:55,988 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:01:55,988 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [179291378] [2022-04-27 13:01:55,988 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [179291378] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:01:55,988 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:01:55,989 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-27 13:01:55,989 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [768397139] [2022-04-27 13:01:55,989 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:01:55,989 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-04-27 13:01:55,989 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:01:55,990 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 13:01:56,017 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:01:56,017 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:01:56,017 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:01:56,018 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:01:56,018 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:01:56,018 INFO L87 Difference]: Start difference. First operand 37 states and 48 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 13:01:56,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:01:56,282 INFO L93 Difference]: Finished difference Result 43 states and 53 transitions. [2022-04-27 13:01:56,282 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:01:56,282 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-04-27 13:01:56,283 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:01:56,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 13:01:56,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-27 13:01:56,284 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 13:01:56,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-27 13:01:56,285 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-27 13:01:56,331 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:01:56,333 INFO L225 Difference]: With dead ends: 43 [2022-04-27 13:01:56,333 INFO L226 Difference]: Without dead ends: 41 [2022-04-27 13:01:56,335 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 80 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:01:56,337 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 6 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:01:56,337 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 137 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:01:56,338 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-27 13:01:56,357 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2022-04-27 13:01:56,357 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:01:56,357 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 41 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:01:56,357 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 41 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:01:56,358 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 41 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:01:56,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:01:56,360 INFO L93 Difference]: Finished difference Result 41 states and 51 transitions. [2022-04-27 13:01:56,360 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 51 transitions. [2022-04-27 13:01:56,360 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:01:56,360 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:01:56,360 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 41 states. [2022-04-27 13:01:56,361 INFO L87 Difference]: Start difference. First operand has 41 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 41 states. [2022-04-27 13:01:56,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:01:56,362 INFO L93 Difference]: Finished difference Result 41 states and 51 transitions. [2022-04-27 13:01:56,362 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 51 transitions. [2022-04-27 13:01:56,362 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:01:56,363 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:01:56,363 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:01:56,363 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:01:56,363 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 14 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:01:56,364 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 51 transitions. [2022-04-27 13:01:56,364 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 51 transitions. Word has length 45 [2022-04-27 13:01:56,365 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:01:56,365 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 51 transitions. [2022-04-27 13:01:56,365 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 13:01:56,365 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 51 transitions. [2022-04-27 13:01:56,366 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-27 13:01:56,366 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:01:56,366 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:01:56,388 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-27 13:01:56,587 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-27 13:01:56,588 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:01:56,588 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:01:56,588 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 1 times [2022-04-27 13:01:56,588 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:01:56,588 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1547044514] [2022-04-27 13:01:56,588 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:01:56,589 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:01:56,614 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:01:56,615 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [531371711] [2022-04-27 13:01:56,615 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:01:56,615 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:01:56,615 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:01:56,619 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:01:56,639 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-27 13:01:56,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:01:56,667 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-27 13:01:56,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:01:56,684 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:01:59,118 INFO L272 TraceCheckUtils]: 0: Hoare triple {1300#true} call ULTIMATE.init(); {1300#true} is VALID [2022-04-27 13:01:59,118 INFO L290 TraceCheckUtils]: 1: Hoare triple {1300#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1300#true} is VALID [2022-04-27 13:01:59,118 INFO L290 TraceCheckUtils]: 2: Hoare triple {1300#true} assume true; {1300#true} is VALID [2022-04-27 13:01:59,119 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1300#true} {1300#true} #103#return; {1300#true} is VALID [2022-04-27 13:01:59,119 INFO L272 TraceCheckUtils]: 4: Hoare triple {1300#true} call #t~ret6 := main(); {1300#true} is VALID [2022-04-27 13:01:59,119 INFO L290 TraceCheckUtils]: 5: Hoare triple {1300#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1300#true} is VALID [2022-04-27 13:01:59,119 INFO L272 TraceCheckUtils]: 6: Hoare triple {1300#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1300#true} is VALID [2022-04-27 13:01:59,119 INFO L290 TraceCheckUtils]: 7: Hoare triple {1300#true} ~cond := #in~cond; {1326#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:01:59,120 INFO L290 TraceCheckUtils]: 8: Hoare triple {1326#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1330#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:01:59,120 INFO L290 TraceCheckUtils]: 9: Hoare triple {1330#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1330#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:01:59,121 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1330#(not (= |assume_abort_if_not_#in~cond| 0))} {1300#true} #79#return; {1337#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-27 13:01:59,121 INFO L290 TraceCheckUtils]: 11: Hoare triple {1337#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1337#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-27 13:01:59,121 INFO L272 TraceCheckUtils]: 12: Hoare triple {1337#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {1300#true} is VALID [2022-04-27 13:01:59,121 INFO L290 TraceCheckUtils]: 13: Hoare triple {1300#true} ~cond := #in~cond; {1300#true} is VALID [2022-04-27 13:01:59,121 INFO L290 TraceCheckUtils]: 14: Hoare triple {1300#true} assume !(0 == ~cond); {1300#true} is VALID [2022-04-27 13:01:59,121 INFO L290 TraceCheckUtils]: 15: Hoare triple {1300#true} assume true; {1300#true} is VALID [2022-04-27 13:01:59,122 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1300#true} {1337#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #81#return; {1337#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-27 13:01:59,122 INFO L272 TraceCheckUtils]: 17: Hoare triple {1337#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1300#true} is VALID [2022-04-27 13:01:59,122 INFO L290 TraceCheckUtils]: 18: Hoare triple {1300#true} ~cond := #in~cond; {1326#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:01:59,123 INFO L290 TraceCheckUtils]: 19: Hoare triple {1326#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1330#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:01:59,123 INFO L290 TraceCheckUtils]: 20: Hoare triple {1330#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1330#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:01:59,123 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1330#(not (= |assume_abort_if_not_#in~cond| 0))} {1337#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #83#return; {1371#(and (<= 1 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-27 13:01:59,124 INFO L272 TraceCheckUtils]: 22: Hoare triple {1371#(and (<= 1 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1300#true} is VALID [2022-04-27 13:01:59,124 INFO L290 TraceCheckUtils]: 23: Hoare triple {1300#true} ~cond := #in~cond; {1300#true} is VALID [2022-04-27 13:01:59,124 INFO L290 TraceCheckUtils]: 24: Hoare triple {1300#true} assume !(0 == ~cond); {1300#true} is VALID [2022-04-27 13:01:59,124 INFO L290 TraceCheckUtils]: 25: Hoare triple {1300#true} assume true; {1300#true} is VALID [2022-04-27 13:01:59,124 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1300#true} {1371#(and (<= 1 main_~x~0) (<= main_~x~0 1))} #85#return; {1371#(and (<= 1 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-27 13:01:59,125 INFO L290 TraceCheckUtils]: 27: Hoare triple {1371#(and (<= 1 main_~x~0) (<= main_~x~0 1))} ~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; {1390#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:01:59,125 INFO L272 TraceCheckUtils]: 28: Hoare triple {1390#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1300#true} is VALID [2022-04-27 13:01:59,125 INFO L290 TraceCheckUtils]: 29: Hoare triple {1300#true} ~cond := #in~cond; {1300#true} is VALID [2022-04-27 13:01:59,125 INFO L290 TraceCheckUtils]: 30: Hoare triple {1300#true} assume !(0 == ~cond); {1300#true} is VALID [2022-04-27 13:01:59,125 INFO L290 TraceCheckUtils]: 31: Hoare triple {1300#true} assume true; {1300#true} is VALID [2022-04-27 13:01:59,126 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1300#true} {1390#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {1390#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:01:59,126 INFO L272 TraceCheckUtils]: 33: Hoare triple {1390#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1300#true} is VALID [2022-04-27 13:01:59,126 INFO L290 TraceCheckUtils]: 34: Hoare triple {1300#true} ~cond := #in~cond; {1300#true} is VALID [2022-04-27 13:01:59,126 INFO L290 TraceCheckUtils]: 35: Hoare triple {1300#true} assume !(0 == ~cond); {1300#true} is VALID [2022-04-27 13:01:59,126 INFO L290 TraceCheckUtils]: 36: Hoare triple {1300#true} assume true; {1300#true} is VALID [2022-04-27 13:01:59,127 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1300#true} {1390#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {1390#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:01:59,127 INFO L290 TraceCheckUtils]: 38: Hoare triple {1390#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1390#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:01:59,127 INFO L290 TraceCheckUtils]: 39: Hoare triple {1390#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1390#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:01:59,128 INFO L290 TraceCheckUtils]: 40: Hoare triple {1390#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1390#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:01:59,128 INFO L272 TraceCheckUtils]: 41: Hoare triple {1390#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1300#true} is VALID [2022-04-27 13:01:59,128 INFO L290 TraceCheckUtils]: 42: Hoare triple {1300#true} ~cond := #in~cond; {1436#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:01:59,129 INFO L290 TraceCheckUtils]: 43: Hoare triple {1436#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1440#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:01:59,129 INFO L290 TraceCheckUtils]: 44: Hoare triple {1440#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1440#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:01:59,130 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1440#(not (= |__VERIFIER_assert_#in~cond| 0))} {1390#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {1390#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:01:59,130 INFO L272 TraceCheckUtils]: 46: Hoare triple {1390#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= 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)); {1450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:01:59,131 INFO L290 TraceCheckUtils]: 47: Hoare triple {1450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:01:59,131 INFO L290 TraceCheckUtils]: 48: Hoare triple {1454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1301#false} is VALID [2022-04-27 13:01:59,131 INFO L290 TraceCheckUtils]: 49: Hoare triple {1301#false} assume !false; {1301#false} is VALID [2022-04-27 13:01:59,132 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 4 proven. 22 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-27 13:01:59,132 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:02:27,228 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:02:27,229 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1547044514] [2022-04-27 13:02:27,229 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:02:27,229 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [531371711] [2022-04-27 13:02:27,229 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [531371711] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:02:27,229 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:02:27,229 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-27 13:02:27,229 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1813121017] [2022-04-27 13:02:27,229 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:02:27,230 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 1.8181818181818181) internal successors, (20), 9 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 50 [2022-04-27 13:02:27,230 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:02:27,230 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 1.8181818181818181) internal successors, (20), 9 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-27 13:02:27,275 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:02:27,276 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-27 13:02:27,276 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:02:27,276 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-27 13:02:27,276 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-27 13:02:27,277 INFO L87 Difference]: Start difference. First operand 41 states and 51 transitions. Second operand has 11 states, 11 states have (on average 1.8181818181818181) internal successors, (20), 9 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-27 13:02:27,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:27,800 INFO L93 Difference]: Finished difference Result 54 states and 68 transitions. [2022-04-27 13:02:27,800 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-27 13:02:27,800 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 1.8181818181818181) internal successors, (20), 9 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 50 [2022-04-27 13:02:27,801 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:02:27,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 1.8181818181818181) internal successors, (20), 9 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-27 13:02:27,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 65 transitions. [2022-04-27 13:02:27,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 1.8181818181818181) internal successors, (20), 9 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-27 13:02:27,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 65 transitions. [2022-04-27 13:02:27,804 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 65 transitions. [2022-04-27 13:02:27,872 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:02:27,874 INFO L225 Difference]: With dead ends: 54 [2022-04-27 13:02:27,874 INFO L226 Difference]: Without dead ends: 52 [2022-04-27 13:02:27,875 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 43 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=169, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:02:27,875 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 27 mSDsluCounter, 129 mSDsCounter, 0 mSdLazyCounter, 215 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 159 SdHoareTripleChecker+Invalid, 224 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 215 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:02:27,876 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 159 Invalid, 224 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 215 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:02:27,876 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-27 13:02:27,919 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 51. [2022-04-27 13:02:27,919 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:02:27,920 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 51 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:27,920 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 51 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:27,920 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 51 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:27,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:27,922 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-27 13:02:27,922 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-27 13:02:27,923 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:27,923 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:27,925 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 52 states. [2022-04-27 13:02:27,925 INFO L87 Difference]: Start difference. First operand has 51 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 52 states. [2022-04-27 13:02:27,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:02:27,927 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-27 13:02:27,927 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-27 13:02:27,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:02:27,928 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:02:27,928 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:02:27,928 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:02:27,928 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:02:27,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 65 transitions. [2022-04-27 13:02:27,930 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 65 transitions. Word has length 50 [2022-04-27 13:02:27,930 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:02:27,930 INFO L495 AbstractCegarLoop]: Abstraction has 51 states and 65 transitions. [2022-04-27 13:02:27,930 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 1.8181818181818181) internal successors, (20), 9 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-27 13:02:27,930 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-27 13:02:27,931 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-27 13:02:27,931 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:02:27,931 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:02:27,947 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-27 13:02:28,135 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:02:28,135 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:02:28,136 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:02:28,136 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 1 times [2022-04-27 13:02:28,136 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:02:28,136 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1230969981] [2022-04-27 13:02:28,136 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:28,136 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:02:28,159 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:02:28,160 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [637355745] [2022-04-27 13:02:28,160 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:02:28,160 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:02:28,160 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:02:28,161 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:02:28,162 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-27 13:02:28,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:28,203 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-27 13:02:28,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:02:28,211 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:02:29,339 INFO L272 TraceCheckUtils]: 0: Hoare triple {1747#true} call ULTIMATE.init(); {1747#true} is VALID [2022-04-27 13:02:29,340 INFO L290 TraceCheckUtils]: 1: Hoare triple {1747#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); {1747#true} is VALID [2022-04-27 13:02:29,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 13:02:29,340 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1747#true} {1747#true} #103#return; {1747#true} is VALID [2022-04-27 13:02:29,340 INFO L272 TraceCheckUtils]: 4: Hoare triple {1747#true} call #t~ret6 := main(); {1747#true} is VALID [2022-04-27 13:02:29,340 INFO L290 TraceCheckUtils]: 5: Hoare triple {1747#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; {1747#true} is VALID [2022-04-27 13:02:29,340 INFO L272 TraceCheckUtils]: 6: Hoare triple {1747#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1747#true} is VALID [2022-04-27 13:02:29,340 INFO L290 TraceCheckUtils]: 7: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 13:02:29,340 INFO L290 TraceCheckUtils]: 8: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 13:02:29,340 INFO L290 TraceCheckUtils]: 9: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 13:02:29,340 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1747#true} {1747#true} #79#return; {1747#true} is VALID [2022-04-27 13:02:29,340 INFO L290 TraceCheckUtils]: 11: Hoare triple {1747#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1747#true} is VALID [2022-04-27 13:02:29,341 INFO L272 TraceCheckUtils]: 12: Hoare triple {1747#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {1747#true} is VALID [2022-04-27 13:02:29,341 INFO L290 TraceCheckUtils]: 13: Hoare triple {1747#true} ~cond := #in~cond; {1791#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:02:29,341 INFO L290 TraceCheckUtils]: 14: Hoare triple {1791#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1795#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:29,341 INFO L290 TraceCheckUtils]: 15: Hoare triple {1795#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1795#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:02:29,342 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1795#(not (= |assume_abort_if_not_#in~cond| 0))} {1747#true} #81#return; {1802#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-27 13:02:29,342 INFO L272 TraceCheckUtils]: 17: Hoare triple {1802#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1747#true} is VALID [2022-04-27 13:02:29,342 INFO L290 TraceCheckUtils]: 18: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 13:02:29,342 INFO L290 TraceCheckUtils]: 19: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 13:02:29,342 INFO L290 TraceCheckUtils]: 20: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 13:02:29,343 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1747#true} {1802#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {1802#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-27 13:02:29,343 INFO L272 TraceCheckUtils]: 22: Hoare triple {1802#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1747#true} is VALID [2022-04-27 13:02:29,343 INFO L290 TraceCheckUtils]: 23: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 13:02:29,343 INFO L290 TraceCheckUtils]: 24: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 13:02:29,343 INFO L290 TraceCheckUtils]: 25: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 13:02:29,347 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1747#true} {1802#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #85#return; {1802#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-27 13:02:29,348 INFO L290 TraceCheckUtils]: 27: Hoare triple {1802#(and (<= 0 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1836#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:02:29,348 INFO L272 TraceCheckUtils]: 28: Hoare triple {1836#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1747#true} is VALID [2022-04-27 13:02:29,348 INFO L290 TraceCheckUtils]: 29: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 13:02:29,348 INFO L290 TraceCheckUtils]: 30: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 13:02:29,348 INFO L290 TraceCheckUtils]: 31: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 13:02:29,349 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1747#true} {1836#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} #87#return; {1836#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:02:29,349 INFO L272 TraceCheckUtils]: 33: Hoare triple {1836#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1747#true} is VALID [2022-04-27 13:02:29,349 INFO L290 TraceCheckUtils]: 34: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 13:02:29,349 INFO L290 TraceCheckUtils]: 35: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 13:02:29,349 INFO L290 TraceCheckUtils]: 36: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 13:02:29,351 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1747#true} {1836#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} #89#return; {1836#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:02:29,351 INFO L290 TraceCheckUtils]: 38: Hoare triple {1836#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {1836#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:02:29,352 INFO L290 TraceCheckUtils]: 39: Hoare triple {1836#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1873#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:02:29,352 INFO L290 TraceCheckUtils]: 40: Hoare triple {1873#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {1873#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:02:29,352 INFO L272 TraceCheckUtils]: 41: Hoare triple {1873#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 13:02:29,352 INFO L290 TraceCheckUtils]: 42: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 13:02:29,352 INFO L290 TraceCheckUtils]: 43: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 13:02:29,352 INFO L290 TraceCheckUtils]: 44: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 13:02:29,353 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1747#true} {1873#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} #91#return; {1873#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:02:29,353 INFO L272 TraceCheckUtils]: 46: Hoare triple {1873#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1747#true} is VALID [2022-04-27 13:02:29,353 INFO L290 TraceCheckUtils]: 47: Hoare triple {1747#true} ~cond := #in~cond; {1747#true} is VALID [2022-04-27 13:02:29,353 INFO L290 TraceCheckUtils]: 48: Hoare triple {1747#true} assume !(0 == ~cond); {1747#true} is VALID [2022-04-27 13:02:29,353 INFO L290 TraceCheckUtils]: 49: Hoare triple {1747#true} assume true; {1747#true} is VALID [2022-04-27 13:02:29,354 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1747#true} {1873#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} #93#return; {1873#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:02:29,355 INFO L272 TraceCheckUtils]: 51: Hoare triple {1873#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1910#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:02:29,355 INFO L290 TraceCheckUtils]: 52: Hoare triple {1910#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1914#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:02:29,355 INFO L290 TraceCheckUtils]: 53: Hoare triple {1914#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1748#false} is VALID [2022-04-27 13:02:29,355 INFO L290 TraceCheckUtils]: 54: Hoare triple {1748#false} assume !false; {1748#false} is VALID [2022-04-27 13:02:29,356 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 7 proven. 12 refuted. 0 times theorem prover too weak. 49 trivial. 0 not checked. [2022-04-27 13:02:29,356 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:03:02,161 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:03:02,162 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1230969981] [2022-04-27 13:03:02,162 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:03:02,162 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [637355745] [2022-04-27 13:03:02,162 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [637355745] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:03:02,162 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:03:02,162 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-27 13:03:02,162 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [59091423] [2022-04-27 13:03:02,162 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:03:02,163 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 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 55 [2022-04-27 13:03:02,163 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:03:02,163 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 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-27 13:03:02,190 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:03:02,190 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:03:02,190 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:03:02,190 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:03:02,191 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:03:02,191 INFO L87 Difference]: Start difference. First operand 51 states and 65 transitions. Second operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 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-27 13:03:02,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:02,634 INFO L93 Difference]: Finished difference Result 58 states and 71 transitions. [2022-04-27 13:03:02,634 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:03:02,635 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 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 55 [2022-04-27 13:03:02,635 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:03:02,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 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-27 13:03:02,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-27 13:03:02,637 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 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-27 13:03:02,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-27 13:03:02,638 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 65 transitions. [2022-04-27 13:03:02,688 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:03:02,689 INFO L225 Difference]: With dead ends: 58 [2022-04-27 13:03:02,689 INFO L226 Difference]: Without dead ends: 56 [2022-04-27 13:03:02,689 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 50 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-27 13:03:02,690 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 22 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 156 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 179 SdHoareTripleChecker+Invalid, 163 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 156 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:03:02,690 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 179 Invalid, 163 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 156 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:03:02,690 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-27 13:03:02,741 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 55. [2022-04-27 13:03:02,741 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:03:02,741 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 55 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 31 states have internal predecessors, (34), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:02,741 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 55 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 31 states have internal predecessors, (34), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:02,742 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 55 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 31 states have internal predecessors, (34), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:02,745 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:02,745 INFO L93 Difference]: Finished difference Result 56 states and 69 transitions. [2022-04-27 13:03:02,745 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 69 transitions. [2022-04-27 13:03:02,746 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:03:02,746 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:03:02,746 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 31 states have internal predecessors, (34), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 56 states. [2022-04-27 13:03:02,746 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 31 states have internal predecessors, (34), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 56 states. [2022-04-27 13:03:02,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:02,748 INFO L93 Difference]: Finished difference Result 56 states and 69 transitions. [2022-04-27 13:03:02,748 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 69 transitions. [2022-04-27 13:03:02,748 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:03:02,748 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:03:02,748 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:03:02,748 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:03:02,749 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 31 states have internal predecessors, (34), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:02,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-27 13:03:02,750 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 55 [2022-04-27 13:03:02,750 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:03:02,750 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-27 13:03:02,751 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 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-27 13:03:02,751 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-27 13:03:02,751 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-27 13:03:02,751 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:03:02,751 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:03:02,768 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-27 13:03:02,966 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:03:02,967 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:03:02,967 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:03:02,967 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 1 times [2022-04-27 13:03:02,967 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:03:02,967 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2078774074] [2022-04-27 13:03:02,967 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:03:02,968 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:03:02,988 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:03:02,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1497799142] [2022-04-27 13:03:02,988 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:03:02,988 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:03:02,988 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:03:02,991 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:03:03,004 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-27 13:03:03,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:03:03,047 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-27 13:03:03,059 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:03:03,060 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:03:04,260 INFO L272 TraceCheckUtils]: 0: Hoare triple {2223#true} call ULTIMATE.init(); {2223#true} is VALID [2022-04-27 13:03:04,260 INFO L290 TraceCheckUtils]: 1: Hoare triple {2223#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); {2223#true} is VALID [2022-04-27 13:03:04,261 INFO L290 TraceCheckUtils]: 2: Hoare triple {2223#true} assume true; {2223#true} is VALID [2022-04-27 13:03:04,261 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2223#true} {2223#true} #103#return; {2223#true} is VALID [2022-04-27 13:03:04,261 INFO L272 TraceCheckUtils]: 4: Hoare triple {2223#true} call #t~ret6 := main(); {2223#true} is VALID [2022-04-27 13:03:04,261 INFO L290 TraceCheckUtils]: 5: Hoare triple {2223#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; {2223#true} is VALID [2022-04-27 13:03:04,261 INFO L272 TraceCheckUtils]: 6: Hoare triple {2223#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2223#true} is VALID [2022-04-27 13:03:04,261 INFO L290 TraceCheckUtils]: 7: Hoare triple {2223#true} ~cond := #in~cond; {2249#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:03:04,261 INFO L290 TraceCheckUtils]: 8: Hoare triple {2249#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2253#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:04,262 INFO L290 TraceCheckUtils]: 9: Hoare triple {2253#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2253#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:04,262 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2253#(not (= |assume_abort_if_not_#in~cond| 0))} {2223#true} #79#return; {2260#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-27 13:03:04,263 INFO L290 TraceCheckUtils]: 11: Hoare triple {2260#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2260#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-27 13:03:04,263 INFO L272 TraceCheckUtils]: 12: Hoare triple {2260#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2223#true} is VALID [2022-04-27 13:03:04,263 INFO L290 TraceCheckUtils]: 13: Hoare triple {2223#true} ~cond := #in~cond; {2249#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:03:04,263 INFO L290 TraceCheckUtils]: 14: Hoare triple {2249#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2253#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:04,264 INFO L290 TraceCheckUtils]: 15: Hoare triple {2253#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2253#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:04,264 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2253#(not (= |assume_abort_if_not_#in~cond| 0))} {2260#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #81#return; {2279#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:04,264 INFO L272 TraceCheckUtils]: 17: Hoare triple {2279#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2223#true} is VALID [2022-04-27 13:03:04,264 INFO L290 TraceCheckUtils]: 18: Hoare triple {2223#true} ~cond := #in~cond; {2249#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:03:04,265 INFO L290 TraceCheckUtils]: 19: Hoare triple {2249#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2253#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:04,265 INFO L290 TraceCheckUtils]: 20: Hoare triple {2253#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2253#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:04,266 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2253#(not (= |assume_abort_if_not_#in~cond| 0))} {2279#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #83#return; {2295#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:04,266 INFO L272 TraceCheckUtils]: 22: Hoare triple {2295#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2223#true} is VALID [2022-04-27 13:03:04,266 INFO L290 TraceCheckUtils]: 23: Hoare triple {2223#true} ~cond := #in~cond; {2223#true} is VALID [2022-04-27 13:03:04,266 INFO L290 TraceCheckUtils]: 24: Hoare triple {2223#true} assume !(0 == ~cond); {2223#true} is VALID [2022-04-27 13:03:04,266 INFO L290 TraceCheckUtils]: 25: Hoare triple {2223#true} assume true; {2223#true} is VALID [2022-04-27 13:03:04,267 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2223#true} {2295#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #85#return; {2295#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:04,267 INFO L290 TraceCheckUtils]: 27: Hoare triple {2295#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} ~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; {2314#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:04,267 INFO L272 TraceCheckUtils]: 28: Hoare triple {2314#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2223#true} is VALID [2022-04-27 13:03:04,267 INFO L290 TraceCheckUtils]: 29: Hoare triple {2223#true} ~cond := #in~cond; {2223#true} is VALID [2022-04-27 13:03:04,267 INFO L290 TraceCheckUtils]: 30: Hoare triple {2223#true} assume !(0 == ~cond); {2223#true} is VALID [2022-04-27 13:03:04,268 INFO L290 TraceCheckUtils]: 31: Hoare triple {2223#true} assume true; {2223#true} is VALID [2022-04-27 13:03:04,268 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2223#true} {2314#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #87#return; {2314#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:04,268 INFO L272 TraceCheckUtils]: 33: Hoare triple {2314#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2223#true} is VALID [2022-04-27 13:03:04,268 INFO L290 TraceCheckUtils]: 34: Hoare triple {2223#true} ~cond := #in~cond; {2223#true} is VALID [2022-04-27 13:03:04,268 INFO L290 TraceCheckUtils]: 35: Hoare triple {2223#true} assume !(0 == ~cond); {2223#true} is VALID [2022-04-27 13:03:04,269 INFO L290 TraceCheckUtils]: 36: Hoare triple {2223#true} assume true; {2223#true} is VALID [2022-04-27 13:03:04,269 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2223#true} {2314#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #89#return; {2314#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:04,270 INFO L290 TraceCheckUtils]: 38: Hoare triple {2314#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {2314#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:04,270 INFO L290 TraceCheckUtils]: 39: Hoare triple {2314#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2351#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:04,271 INFO L290 TraceCheckUtils]: 40: Hoare triple {2351#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {2351#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:04,271 INFO L272 TraceCheckUtils]: 41: Hoare triple {2351#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2223#true} is VALID [2022-04-27 13:03:04,271 INFO L290 TraceCheckUtils]: 42: Hoare triple {2223#true} ~cond := #in~cond; {2223#true} is VALID [2022-04-27 13:03:04,271 INFO L290 TraceCheckUtils]: 43: Hoare triple {2223#true} assume !(0 == ~cond); {2223#true} is VALID [2022-04-27 13:03:04,271 INFO L290 TraceCheckUtils]: 44: Hoare triple {2223#true} assume true; {2223#true} is VALID [2022-04-27 13:03:04,272 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2223#true} {2351#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #91#return; {2351#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:04,272 INFO L272 TraceCheckUtils]: 46: Hoare triple {2351#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2223#true} is VALID [2022-04-27 13:03:04,272 INFO L290 TraceCheckUtils]: 47: Hoare triple {2223#true} ~cond := #in~cond; {2376#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:03:04,272 INFO L290 TraceCheckUtils]: 48: Hoare triple {2376#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2380#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:03:04,273 INFO L290 TraceCheckUtils]: 49: Hoare triple {2380#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2380#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:03:04,274 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2380#(not (= |__VERIFIER_assert_#in~cond| 0))} {2351#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #93#return; {2351#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:04,274 INFO L272 TraceCheckUtils]: 51: Hoare triple {2351#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2223#true} is VALID [2022-04-27 13:03:04,274 INFO L290 TraceCheckUtils]: 52: Hoare triple {2223#true} ~cond := #in~cond; {2376#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:03:04,274 INFO L290 TraceCheckUtils]: 53: Hoare triple {2376#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2380#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:03:04,275 INFO L290 TraceCheckUtils]: 54: Hoare triple {2380#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2380#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:03:04,275 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2380#(not (= |__VERIFIER_assert_#in~cond| 0))} {2351#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #95#return; {2351#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:04,276 INFO L272 TraceCheckUtils]: 56: Hoare triple {2351#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~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)); {2405#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:03:04,277 INFO L290 TraceCheckUtils]: 57: Hoare triple {2405#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2409#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:03:04,277 INFO L290 TraceCheckUtils]: 58: Hoare triple {2409#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2224#false} is VALID [2022-04-27 13:03:04,277 INFO L290 TraceCheckUtils]: 59: Hoare triple {2224#false} assume !false; {2224#false} is VALID [2022-04-27 13:03:04,277 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 29 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-27 13:03:04,277 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:03:46,768 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:03:46,768 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2078774074] [2022-04-27 13:03:46,768 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:03:46,769 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1497799142] [2022-04-27 13:03:46,769 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1497799142] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:03:46,769 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:03:46,769 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-27 13:03:46,769 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [208040885] [2022-04-27 13:03:46,769 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:03:46,769 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) Word has length 60 [2022-04-27 13:03:46,770 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:03:46,770 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-27 13:03:46,808 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:03:46,808 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-27 13:03:46,808 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:03:46,808 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-27 13:03:46,808 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:03:46,809 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-27 13:03:47,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:47,563 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-27 13:03:47,563 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-27 13:03:47,563 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) Word has length 60 [2022-04-27 13:03:47,563 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:03:47,563 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-27 13:03:47,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 67 transitions. [2022-04-27 13:03:47,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-27 13:03:47,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 67 transitions. [2022-04-27 13:03:47,566 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 67 transitions. [2022-04-27 13:03:47,630 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:03:47,631 INFO L225 Difference]: With dead ends: 64 [2022-04-27 13:03:47,631 INFO L226 Difference]: Without dead ends: 62 [2022-04-27 13:03:47,631 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 50 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=58, Invalid=248, Unknown=0, NotChecked=0, Total=306 [2022-04-27 13:03:47,632 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 49 mSDsluCounter, 109 mSDsCounter, 0 mSdLazyCounter, 274 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 307 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 274 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:03:47,632 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [57 Valid, 137 Invalid, 307 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 274 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 13:03:47,632 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-04-27 13:03:47,681 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 59. [2022-04-27 13:03:47,681 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:03:47,681 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:47,681 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:47,682 INFO L87 Difference]: Start difference. First operand 62 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:47,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:47,683 INFO L93 Difference]: Finished difference Result 62 states and 74 transitions. [2022-04-27 13:03:47,684 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 74 transitions. [2022-04-27 13:03:47,684 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:03:47,684 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:03:47,684 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 62 states. [2022-04-27 13:03:47,685 INFO L87 Difference]: Start difference. First operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 62 states. [2022-04-27 13:03:47,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:47,687 INFO L93 Difference]: Finished difference Result 62 states and 74 transitions. [2022-04-27 13:03:47,687 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 74 transitions. [2022-04-27 13:03:47,687 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:03:47,687 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:03:47,687 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:03:47,687 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:03:47,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:47,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 71 transitions. [2022-04-27 13:03:47,689 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 71 transitions. Word has length 60 [2022-04-27 13:03:47,689 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:03:47,689 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 71 transitions. [2022-04-27 13:03:47,689 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-27 13:03:47,689 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 71 transitions. [2022-04-27 13:03:47,690 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-27 13:03:47,690 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:03:47,690 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:03:47,711 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-27 13:03:47,907 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:03:47,907 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:03:47,908 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:03:47,908 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 1 times [2022-04-27 13:03:47,908 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:03:47,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [374472736] [2022-04-27 13:03:47,908 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:03:47,908 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:03:47,919 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:03:47,919 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1823568397] [2022-04-27 13:03:47,919 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:03:47,919 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:03:47,919 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:03:47,925 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:03:47,926 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-27 13:03:47,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:03:47,966 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:03:47,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:03:47,977 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:03:48,194 INFO L272 TraceCheckUtils]: 0: Hoare triple {2746#true} call ULTIMATE.init(); {2746#true} is VALID [2022-04-27 13:03:48,194 INFO L290 TraceCheckUtils]: 1: Hoare triple {2746#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); {2746#true} is VALID [2022-04-27 13:03:48,194 INFO L290 TraceCheckUtils]: 2: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,194 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2746#true} {2746#true} #103#return; {2746#true} is VALID [2022-04-27 13:03:48,195 INFO L272 TraceCheckUtils]: 4: Hoare triple {2746#true} call #t~ret6 := main(); {2746#true} is VALID [2022-04-27 13:03:48,195 INFO L290 TraceCheckUtils]: 5: Hoare triple {2746#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; {2746#true} is VALID [2022-04-27 13:03:48,195 INFO L272 TraceCheckUtils]: 6: Hoare triple {2746#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2746#true} is VALID [2022-04-27 13:03:48,195 INFO L290 TraceCheckUtils]: 7: Hoare triple {2746#true} ~cond := #in~cond; {2746#true} is VALID [2022-04-27 13:03:48,195 INFO L290 TraceCheckUtils]: 8: Hoare triple {2746#true} assume !(0 == ~cond); {2746#true} is VALID [2022-04-27 13:03:48,195 INFO L290 TraceCheckUtils]: 9: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,195 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2746#true} {2746#true} #79#return; {2746#true} is VALID [2022-04-27 13:03:48,195 INFO L290 TraceCheckUtils]: 11: Hoare triple {2746#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2746#true} is VALID [2022-04-27 13:03:48,195 INFO L272 TraceCheckUtils]: 12: Hoare triple {2746#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2746#true} is VALID [2022-04-27 13:03:48,195 INFO L290 TraceCheckUtils]: 13: Hoare triple {2746#true} ~cond := #in~cond; {2746#true} is VALID [2022-04-27 13:03:48,195 INFO L290 TraceCheckUtils]: 14: Hoare triple {2746#true} assume !(0 == ~cond); {2746#true} is VALID [2022-04-27 13:03:48,195 INFO L290 TraceCheckUtils]: 15: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,195 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2746#true} {2746#true} #81#return; {2746#true} is VALID [2022-04-27 13:03:48,195 INFO L272 TraceCheckUtils]: 17: Hoare triple {2746#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2746#true} is VALID [2022-04-27 13:03:48,196 INFO L290 TraceCheckUtils]: 18: Hoare triple {2746#true} ~cond := #in~cond; {2805#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:03:48,197 INFO L290 TraceCheckUtils]: 19: Hoare triple {2805#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2809#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:48,197 INFO L290 TraceCheckUtils]: 20: Hoare triple {2809#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2809#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:48,197 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2809#(not (= |assume_abort_if_not_#in~cond| 0))} {2746#true} #83#return; {2816#(<= 1 main_~x~0)} is VALID [2022-04-27 13:03:48,197 INFO L272 TraceCheckUtils]: 22: Hoare triple {2816#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2746#true} is VALID [2022-04-27 13:03:48,198 INFO L290 TraceCheckUtils]: 23: Hoare triple {2746#true} ~cond := #in~cond; {2746#true} is VALID [2022-04-27 13:03:48,198 INFO L290 TraceCheckUtils]: 24: Hoare triple {2746#true} assume !(0 == ~cond); {2746#true} is VALID [2022-04-27 13:03:48,198 INFO L290 TraceCheckUtils]: 25: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,199 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2746#true} {2816#(<= 1 main_~x~0)} #85#return; {2816#(<= 1 main_~x~0)} is VALID [2022-04-27 13:03:48,199 INFO L290 TraceCheckUtils]: 27: Hoare triple {2816#(<= 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; {2835#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:48,199 INFO L272 TraceCheckUtils]: 28: Hoare triple {2835#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2746#true} is VALID [2022-04-27 13:03:48,199 INFO L290 TraceCheckUtils]: 29: Hoare triple {2746#true} ~cond := #in~cond; {2746#true} is VALID [2022-04-27 13:03:48,200 INFO L290 TraceCheckUtils]: 30: Hoare triple {2746#true} assume !(0 == ~cond); {2746#true} is VALID [2022-04-27 13:03:48,200 INFO L290 TraceCheckUtils]: 31: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,200 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2746#true} {2835#(<= 1 main_~a~0)} #87#return; {2835#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:48,200 INFO L272 TraceCheckUtils]: 33: Hoare triple {2835#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2746#true} is VALID [2022-04-27 13:03:48,200 INFO L290 TraceCheckUtils]: 34: Hoare triple {2746#true} ~cond := #in~cond; {2746#true} is VALID [2022-04-27 13:03:48,200 INFO L290 TraceCheckUtils]: 35: Hoare triple {2746#true} assume !(0 == ~cond); {2746#true} is VALID [2022-04-27 13:03:48,200 INFO L290 TraceCheckUtils]: 36: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,201 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2746#true} {2835#(<= 1 main_~a~0)} #89#return; {2835#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:48,207 INFO L290 TraceCheckUtils]: 38: Hoare triple {2835#(<= 1 main_~a~0)} assume !false; {2835#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:48,207 INFO L290 TraceCheckUtils]: 39: Hoare triple {2835#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2872#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:48,208 INFO L290 TraceCheckUtils]: 40: Hoare triple {2872#(<= 1 main_~c~0)} assume !false; {2872#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:48,208 INFO L272 TraceCheckUtils]: 41: Hoare triple {2872#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2746#true} is VALID [2022-04-27 13:03:48,208 INFO L290 TraceCheckUtils]: 42: Hoare triple {2746#true} ~cond := #in~cond; {2746#true} is VALID [2022-04-27 13:03:48,208 INFO L290 TraceCheckUtils]: 43: Hoare triple {2746#true} assume !(0 == ~cond); {2746#true} is VALID [2022-04-27 13:03:48,208 INFO L290 TraceCheckUtils]: 44: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,211 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2746#true} {2872#(<= 1 main_~c~0)} #91#return; {2872#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:48,211 INFO L272 TraceCheckUtils]: 46: Hoare triple {2872#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2746#true} is VALID [2022-04-27 13:03:48,211 INFO L290 TraceCheckUtils]: 47: Hoare triple {2746#true} ~cond := #in~cond; {2746#true} is VALID [2022-04-27 13:03:48,211 INFO L290 TraceCheckUtils]: 48: Hoare triple {2746#true} assume !(0 == ~cond); {2746#true} is VALID [2022-04-27 13:03:48,212 INFO L290 TraceCheckUtils]: 49: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,212 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2746#true} {2872#(<= 1 main_~c~0)} #93#return; {2872#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:48,212 INFO L272 TraceCheckUtils]: 51: Hoare triple {2872#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2746#true} is VALID [2022-04-27 13:03:48,212 INFO L290 TraceCheckUtils]: 52: Hoare triple {2746#true} ~cond := #in~cond; {2746#true} is VALID [2022-04-27 13:03:48,212 INFO L290 TraceCheckUtils]: 53: Hoare triple {2746#true} assume !(0 == ~cond); {2746#true} is VALID [2022-04-27 13:03:48,212 INFO L290 TraceCheckUtils]: 54: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,213 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2746#true} {2872#(<= 1 main_~c~0)} #95#return; {2872#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:48,213 INFO L272 TraceCheckUtils]: 56: Hoare triple {2872#(<= 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)); {2746#true} is VALID [2022-04-27 13:03:48,213 INFO L290 TraceCheckUtils]: 57: Hoare triple {2746#true} ~cond := #in~cond; {2746#true} is VALID [2022-04-27 13:03:48,213 INFO L290 TraceCheckUtils]: 58: Hoare triple {2746#true} assume !(0 == ~cond); {2746#true} is VALID [2022-04-27 13:03:48,213 INFO L290 TraceCheckUtils]: 59: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,214 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {2746#true} {2872#(<= 1 main_~c~0)} #97#return; {2872#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:48,214 INFO L290 TraceCheckUtils]: 61: Hoare triple {2872#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {2872#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:48,215 INFO L290 TraceCheckUtils]: 62: Hoare triple {2872#(<= 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; {2942#(<= 1 main_~b~0)} is VALID [2022-04-27 13:03:48,215 INFO L290 TraceCheckUtils]: 63: Hoare triple {2942#(<= 1 main_~b~0)} assume !false; {2942#(<= 1 main_~b~0)} is VALID [2022-04-27 13:03:48,215 INFO L290 TraceCheckUtils]: 64: Hoare triple {2942#(<= 1 main_~b~0)} assume !(0 != ~b~0); {2747#false} is VALID [2022-04-27 13:03:48,215 INFO L272 TraceCheckUtils]: 65: Hoare triple {2747#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {2747#false} is VALID [2022-04-27 13:03:48,215 INFO L290 TraceCheckUtils]: 66: Hoare triple {2747#false} ~cond := #in~cond; {2747#false} is VALID [2022-04-27 13:03:48,215 INFO L290 TraceCheckUtils]: 67: Hoare triple {2747#false} assume 0 == ~cond; {2747#false} is VALID [2022-04-27 13:03:48,215 INFO L290 TraceCheckUtils]: 68: Hoare triple {2747#false} assume !false; {2747#false} is VALID [2022-04-27 13:03:48,216 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-27 13:03:48,216 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:03:48,494 INFO L290 TraceCheckUtils]: 68: Hoare triple {2747#false} assume !false; {2747#false} is VALID [2022-04-27 13:03:48,495 INFO L290 TraceCheckUtils]: 67: Hoare triple {2747#false} assume 0 == ~cond; {2747#false} is VALID [2022-04-27 13:03:48,495 INFO L290 TraceCheckUtils]: 66: Hoare triple {2747#false} ~cond := #in~cond; {2747#false} is VALID [2022-04-27 13:03:48,495 INFO L272 TraceCheckUtils]: 65: Hoare triple {2747#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {2747#false} is VALID [2022-04-27 13:03:48,495 INFO L290 TraceCheckUtils]: 64: Hoare triple {2942#(<= 1 main_~b~0)} assume !(0 != ~b~0); {2747#false} is VALID [2022-04-27 13:03:48,495 INFO L290 TraceCheckUtils]: 63: Hoare triple {2942#(<= 1 main_~b~0)} assume !false; {2942#(<= 1 main_~b~0)} is VALID [2022-04-27 13:03:48,496 INFO L290 TraceCheckUtils]: 62: Hoare triple {2872#(<= 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; {2942#(<= 1 main_~b~0)} is VALID [2022-04-27 13:03:48,496 INFO L290 TraceCheckUtils]: 61: Hoare triple {2872#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {2872#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:48,497 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {2746#true} {2872#(<= 1 main_~c~0)} #97#return; {2872#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:48,497 INFO L290 TraceCheckUtils]: 59: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,497 INFO L290 TraceCheckUtils]: 58: Hoare triple {2746#true} assume !(0 == ~cond); {2746#true} is VALID [2022-04-27 13:03:48,497 INFO L290 TraceCheckUtils]: 57: Hoare triple {2746#true} ~cond := #in~cond; {2746#true} is VALID [2022-04-27 13:03:48,497 INFO L272 TraceCheckUtils]: 56: Hoare triple {2872#(<= 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)); {2746#true} is VALID [2022-04-27 13:03:48,498 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2746#true} {2872#(<= 1 main_~c~0)} #95#return; {2872#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:48,498 INFO L290 TraceCheckUtils]: 54: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,498 INFO L290 TraceCheckUtils]: 53: Hoare triple {2746#true} assume !(0 == ~cond); {2746#true} is VALID [2022-04-27 13:03:48,498 INFO L290 TraceCheckUtils]: 52: Hoare triple {2746#true} ~cond := #in~cond; {2746#true} is VALID [2022-04-27 13:03:48,498 INFO L272 TraceCheckUtils]: 51: Hoare triple {2872#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2746#true} is VALID [2022-04-27 13:03:48,499 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2746#true} {2872#(<= 1 main_~c~0)} #93#return; {2872#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:48,499 INFO L290 TraceCheckUtils]: 49: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,499 INFO L290 TraceCheckUtils]: 48: Hoare triple {2746#true} assume !(0 == ~cond); {2746#true} is VALID [2022-04-27 13:03:48,499 INFO L290 TraceCheckUtils]: 47: Hoare triple {2746#true} ~cond := #in~cond; {2746#true} is VALID [2022-04-27 13:03:48,499 INFO L272 TraceCheckUtils]: 46: Hoare triple {2872#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2746#true} is VALID [2022-04-27 13:03:48,499 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2746#true} {2872#(<= 1 main_~c~0)} #91#return; {2872#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:48,500 INFO L290 TraceCheckUtils]: 44: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,500 INFO L290 TraceCheckUtils]: 43: Hoare triple {2746#true} assume !(0 == ~cond); {2746#true} is VALID [2022-04-27 13:03:48,500 INFO L290 TraceCheckUtils]: 42: Hoare triple {2746#true} ~cond := #in~cond; {2746#true} is VALID [2022-04-27 13:03:48,500 INFO L272 TraceCheckUtils]: 41: Hoare triple {2872#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2746#true} is VALID [2022-04-27 13:03:48,500 INFO L290 TraceCheckUtils]: 40: Hoare triple {2872#(<= 1 main_~c~0)} assume !false; {2872#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:48,500 INFO L290 TraceCheckUtils]: 39: Hoare triple {2835#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2872#(<= 1 main_~c~0)} is VALID [2022-04-27 13:03:48,501 INFO L290 TraceCheckUtils]: 38: Hoare triple {2835#(<= 1 main_~a~0)} assume !false; {2835#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:48,501 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2746#true} {2835#(<= 1 main_~a~0)} #89#return; {2835#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:48,501 INFO L290 TraceCheckUtils]: 36: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,501 INFO L290 TraceCheckUtils]: 35: Hoare triple {2746#true} assume !(0 == ~cond); {2746#true} is VALID [2022-04-27 13:03:48,501 INFO L290 TraceCheckUtils]: 34: Hoare triple {2746#true} ~cond := #in~cond; {2746#true} is VALID [2022-04-27 13:03:48,502 INFO L272 TraceCheckUtils]: 33: Hoare triple {2835#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2746#true} is VALID [2022-04-27 13:03:48,502 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2746#true} {2835#(<= 1 main_~a~0)} #87#return; {2835#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:48,502 INFO L290 TraceCheckUtils]: 31: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,502 INFO L290 TraceCheckUtils]: 30: Hoare triple {2746#true} assume !(0 == ~cond); {2746#true} is VALID [2022-04-27 13:03:48,502 INFO L290 TraceCheckUtils]: 29: Hoare triple {2746#true} ~cond := #in~cond; {2746#true} is VALID [2022-04-27 13:03:48,502 INFO L272 TraceCheckUtils]: 28: Hoare triple {2835#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2746#true} is VALID [2022-04-27 13:03:48,503 INFO L290 TraceCheckUtils]: 27: Hoare triple {2816#(<= 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; {2835#(<= 1 main_~a~0)} is VALID [2022-04-27 13:03:48,503 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2746#true} {2816#(<= 1 main_~x~0)} #85#return; {2816#(<= 1 main_~x~0)} is VALID [2022-04-27 13:03:48,503 INFO L290 TraceCheckUtils]: 25: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,503 INFO L290 TraceCheckUtils]: 24: Hoare triple {2746#true} assume !(0 == ~cond); {2746#true} is VALID [2022-04-27 13:03:48,503 INFO L290 TraceCheckUtils]: 23: Hoare triple {2746#true} ~cond := #in~cond; {2746#true} is VALID [2022-04-27 13:03:48,503 INFO L272 TraceCheckUtils]: 22: Hoare triple {2816#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2746#true} is VALID [2022-04-27 13:03:48,504 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2809#(not (= |assume_abort_if_not_#in~cond| 0))} {2746#true} #83#return; {2816#(<= 1 main_~x~0)} is VALID [2022-04-27 13:03:48,504 INFO L290 TraceCheckUtils]: 20: Hoare triple {2809#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2809#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:48,505 INFO L290 TraceCheckUtils]: 19: Hoare triple {3111#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {2809#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:48,505 INFO L290 TraceCheckUtils]: 18: Hoare triple {2746#true} ~cond := #in~cond; {3111#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:03:48,505 INFO L272 TraceCheckUtils]: 17: Hoare triple {2746#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2746#true} is VALID [2022-04-27 13:03:48,505 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2746#true} {2746#true} #81#return; {2746#true} is VALID [2022-04-27 13:03:48,505 INFO L290 TraceCheckUtils]: 15: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,505 INFO L290 TraceCheckUtils]: 14: Hoare triple {2746#true} assume !(0 == ~cond); {2746#true} is VALID [2022-04-27 13:03:48,505 INFO L290 TraceCheckUtils]: 13: Hoare triple {2746#true} ~cond := #in~cond; {2746#true} is VALID [2022-04-27 13:03:48,505 INFO L272 TraceCheckUtils]: 12: Hoare triple {2746#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2746#true} is VALID [2022-04-27 13:03:48,505 INFO L290 TraceCheckUtils]: 11: Hoare triple {2746#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2746#true} is VALID [2022-04-27 13:03:48,506 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2746#true} {2746#true} #79#return; {2746#true} is VALID [2022-04-27 13:03:48,506 INFO L290 TraceCheckUtils]: 9: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,506 INFO L290 TraceCheckUtils]: 8: Hoare triple {2746#true} assume !(0 == ~cond); {2746#true} is VALID [2022-04-27 13:03:48,506 INFO L290 TraceCheckUtils]: 7: Hoare triple {2746#true} ~cond := #in~cond; {2746#true} is VALID [2022-04-27 13:03:48,506 INFO L272 TraceCheckUtils]: 6: Hoare triple {2746#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2746#true} is VALID [2022-04-27 13:03:48,506 INFO L290 TraceCheckUtils]: 5: Hoare triple {2746#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; {2746#true} is VALID [2022-04-27 13:03:48,506 INFO L272 TraceCheckUtils]: 4: Hoare triple {2746#true} call #t~ret6 := main(); {2746#true} is VALID [2022-04-27 13:03:48,506 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2746#true} {2746#true} #103#return; {2746#true} is VALID [2022-04-27 13:03:48,506 INFO L290 TraceCheckUtils]: 2: Hoare triple {2746#true} assume true; {2746#true} is VALID [2022-04-27 13:03:48,506 INFO L290 TraceCheckUtils]: 1: Hoare triple {2746#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); {2746#true} is VALID [2022-04-27 13:03:48,506 INFO L272 TraceCheckUtils]: 0: Hoare triple {2746#true} call ULTIMATE.init(); {2746#true} is VALID [2022-04-27 13:03:48,506 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-27 13:03:48,506 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:03:48,507 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [374472736] [2022-04-27 13:03:48,507 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:03:48,507 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1823568397] [2022-04-27 13:03:48,507 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1823568397] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:03:48,507 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:03:48,507 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-27 13:03:48,507 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1136366813] [2022-04-27 13:03:48,507 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:03:48,507 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-27 13:03:48,508 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:03:48,508 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 13:03:48,553 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:03:48,553 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:03:48,553 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:03:48,553 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:03:48,553 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:03:48,553 INFO L87 Difference]: Start difference. First operand 59 states and 71 transitions. Second operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 13:03:49,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:49,223 INFO L93 Difference]: Finished difference Result 106 states and 146 transitions. [2022-04-27 13:03:49,223 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:03:49,224 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-27 13:03:49,224 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:03:49,224 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 13:03:49,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-27 13:03:49,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 13:03:49,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-27 13:03:49,228 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 110 transitions. [2022-04-27 13:03:49,309 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:03:49,311 INFO L225 Difference]: With dead ends: 106 [2022-04-27 13:03:49,311 INFO L226 Difference]: Without dead ends: 98 [2022-04-27 13:03:49,311 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 142 GetRequests, 129 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:03:49,311 INFO L413 NwaCegarLoop]: 60 mSDtfsCounter, 30 mSDsluCounter, 199 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 259 SdHoareTripleChecker+Invalid, 227 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:03:49,312 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 259 Invalid, 227 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:03:49,312 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-27 13:03:49,436 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 89. [2022-04-27 13:03:49,436 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:03:49,436 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:03:49,436 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:03:49,437 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:03:49,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:49,442 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-27 13:03:49,442 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-27 13:03:49,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:03:49,442 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:03:49,443 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) Second operand 98 states. [2022-04-27 13:03:49,443 INFO L87 Difference]: Start difference. First operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) Second operand 98 states. [2022-04-27 13:03:49,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:49,447 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-27 13:03:49,447 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-27 13:03:49,447 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:03:49,447 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:03:49,447 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:03:49,447 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:03:49,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:03:49,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 122 transitions. [2022-04-27 13:03:49,450 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 122 transitions. Word has length 69 [2022-04-27 13:03:49,450 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:03:49,450 INFO L495 AbstractCegarLoop]: Abstraction has 89 states and 122 transitions. [2022-04-27 13:03:49,450 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-27 13:03:49,451 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 122 transitions. [2022-04-27 13:03:49,452 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-27 13:03:49,452 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:03:49,452 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:03:49,470 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-27 13:03:49,663 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:03:49,664 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:03:49,664 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:03:49,664 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 1 times [2022-04-27 13:03:49,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:03:49,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2143746926] [2022-04-27 13:03:49,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:03:49,665 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:03:49,676 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:03:49,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1665037866] [2022-04-27 13:03:49,676 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:03:49,676 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:03:49,676 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:03:49,677 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:03:49,678 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-27 13:03:49,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:03:49,719 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-27 13:03:49,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:03:49,732 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:03:50,032 INFO L272 TraceCheckUtils]: 0: Hoare triple {3683#true} call ULTIMATE.init(); {3683#true} is VALID [2022-04-27 13:03:50,032 INFO L290 TraceCheckUtils]: 1: Hoare triple {3683#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); {3683#true} is VALID [2022-04-27 13:03:50,032 INFO L290 TraceCheckUtils]: 2: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,032 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3683#true} {3683#true} #103#return; {3683#true} is VALID [2022-04-27 13:03:50,032 INFO L272 TraceCheckUtils]: 4: Hoare triple {3683#true} call #t~ret6 := main(); {3683#true} is VALID [2022-04-27 13:03:50,032 INFO L290 TraceCheckUtils]: 5: Hoare triple {3683#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; {3683#true} is VALID [2022-04-27 13:03:50,032 INFO L272 TraceCheckUtils]: 6: Hoare triple {3683#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,032 INFO L290 TraceCheckUtils]: 7: Hoare triple {3683#true} ~cond := #in~cond; {3683#true} is VALID [2022-04-27 13:03:50,032 INFO L290 TraceCheckUtils]: 8: Hoare triple {3683#true} assume !(0 == ~cond); {3683#true} is VALID [2022-04-27 13:03:50,032 INFO L290 TraceCheckUtils]: 9: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,032 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3683#true} {3683#true} #79#return; {3683#true} is VALID [2022-04-27 13:03:50,033 INFO L290 TraceCheckUtils]: 11: Hoare triple {3683#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3683#true} is VALID [2022-04-27 13:03:50,033 INFO L272 TraceCheckUtils]: 12: Hoare triple {3683#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,033 INFO L290 TraceCheckUtils]: 13: Hoare triple {3683#true} ~cond := #in~cond; {3727#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:03:50,033 INFO L290 TraceCheckUtils]: 14: Hoare triple {3727#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3731#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:50,033 INFO L290 TraceCheckUtils]: 15: Hoare triple {3731#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3731#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:50,034 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3731#(not (= |assume_abort_if_not_#in~cond| 0))} {3683#true} #81#return; {3738#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:50,034 INFO L272 TraceCheckUtils]: 17: Hoare triple {3738#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,034 INFO L290 TraceCheckUtils]: 18: Hoare triple {3683#true} ~cond := #in~cond; {3727#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:03:50,035 INFO L290 TraceCheckUtils]: 19: Hoare triple {3727#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3731#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:50,035 INFO L290 TraceCheckUtils]: 20: Hoare triple {3731#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3731#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:50,035 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3731#(not (= |assume_abort_if_not_#in~cond| 0))} {3738#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {3754#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:50,035 INFO L272 TraceCheckUtils]: 22: Hoare triple {3754#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,035 INFO L290 TraceCheckUtils]: 23: Hoare triple {3683#true} ~cond := #in~cond; {3683#true} is VALID [2022-04-27 13:03:50,035 INFO L290 TraceCheckUtils]: 24: Hoare triple {3683#true} assume !(0 == ~cond); {3683#true} is VALID [2022-04-27 13:03:50,035 INFO L290 TraceCheckUtils]: 25: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,036 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3683#true} {3754#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} #85#return; {3754#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:50,036 INFO L290 TraceCheckUtils]: 27: Hoare triple {3754#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} ~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; {3773#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-27 13:03:50,036 INFO L272 TraceCheckUtils]: 28: Hoare triple {3773#(and (<= main_~b~0 1) (<= 1 main_~a~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,036 INFO L290 TraceCheckUtils]: 29: Hoare triple {3683#true} ~cond := #in~cond; {3683#true} is VALID [2022-04-27 13:03:50,036 INFO L290 TraceCheckUtils]: 30: Hoare triple {3683#true} assume !(0 == ~cond); {3683#true} is VALID [2022-04-27 13:03:50,037 INFO L290 TraceCheckUtils]: 31: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,037 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3683#true} {3773#(and (<= main_~b~0 1) (<= 1 main_~a~0))} #87#return; {3773#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-27 13:03:50,037 INFO L272 TraceCheckUtils]: 33: Hoare triple {3773#(and (<= main_~b~0 1) (<= 1 main_~a~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,037 INFO L290 TraceCheckUtils]: 34: Hoare triple {3683#true} ~cond := #in~cond; {3683#true} is VALID [2022-04-27 13:03:50,037 INFO L290 TraceCheckUtils]: 35: Hoare triple {3683#true} assume !(0 == ~cond); {3683#true} is VALID [2022-04-27 13:03:50,037 INFO L290 TraceCheckUtils]: 36: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,038 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3683#true} {3773#(and (<= main_~b~0 1) (<= 1 main_~a~0))} #89#return; {3773#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-27 13:03:50,038 INFO L290 TraceCheckUtils]: 38: Hoare triple {3773#(and (<= main_~b~0 1) (<= 1 main_~a~0))} assume !false; {3773#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-27 13:03:50,038 INFO L290 TraceCheckUtils]: 39: Hoare triple {3773#(and (<= main_~b~0 1) (<= 1 main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3810#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-27 13:03:50,038 INFO L290 TraceCheckUtils]: 40: Hoare triple {3810#(and (<= 1 main_~c~0) (<= main_~b~0 1))} assume !false; {3810#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-27 13:03:50,039 INFO L272 TraceCheckUtils]: 41: Hoare triple {3810#(and (<= 1 main_~c~0) (<= main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,039 INFO L290 TraceCheckUtils]: 42: Hoare triple {3683#true} ~cond := #in~cond; {3683#true} is VALID [2022-04-27 13:03:50,039 INFO L290 TraceCheckUtils]: 43: Hoare triple {3683#true} assume !(0 == ~cond); {3683#true} is VALID [2022-04-27 13:03:50,039 INFO L290 TraceCheckUtils]: 44: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,040 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3683#true} {3810#(and (<= 1 main_~c~0) (<= main_~b~0 1))} #91#return; {3810#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-27 13:03:50,040 INFO L272 TraceCheckUtils]: 46: Hoare triple {3810#(and (<= 1 main_~c~0) (<= main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,040 INFO L290 TraceCheckUtils]: 47: Hoare triple {3683#true} ~cond := #in~cond; {3683#true} is VALID [2022-04-27 13:03:50,040 INFO L290 TraceCheckUtils]: 48: Hoare triple {3683#true} assume !(0 == ~cond); {3683#true} is VALID [2022-04-27 13:03:50,040 INFO L290 TraceCheckUtils]: 49: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,041 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3683#true} {3810#(and (<= 1 main_~c~0) (<= main_~b~0 1))} #93#return; {3810#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-27 13:03:50,041 INFO L272 TraceCheckUtils]: 51: Hoare triple {3810#(and (<= 1 main_~c~0) (<= main_~b~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,041 INFO L290 TraceCheckUtils]: 52: Hoare triple {3683#true} ~cond := #in~cond; {3683#true} is VALID [2022-04-27 13:03:50,041 INFO L290 TraceCheckUtils]: 53: Hoare triple {3683#true} assume !(0 == ~cond); {3683#true} is VALID [2022-04-27 13:03:50,041 INFO L290 TraceCheckUtils]: 54: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,041 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3683#true} {3810#(and (<= 1 main_~c~0) (<= main_~b~0 1))} #95#return; {3810#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-27 13:03:50,041 INFO L272 TraceCheckUtils]: 56: Hoare triple {3810#(and (<= 1 main_~c~0) (<= main_~b~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)); {3683#true} is VALID [2022-04-27 13:03:50,041 INFO L290 TraceCheckUtils]: 57: Hoare triple {3683#true} ~cond := #in~cond; {3683#true} is VALID [2022-04-27 13:03:50,042 INFO L290 TraceCheckUtils]: 58: Hoare triple {3683#true} assume !(0 == ~cond); {3683#true} is VALID [2022-04-27 13:03:50,042 INFO L290 TraceCheckUtils]: 59: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,042 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3683#true} {3810#(and (<= 1 main_~c~0) (<= main_~b~0 1))} #97#return; {3810#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-27 13:03:50,047 INFO L290 TraceCheckUtils]: 61: Hoare triple {3810#(and (<= 1 main_~c~0) (<= main_~b~0 1))} assume !(~c~0 >= ~b~0); {3684#false} is VALID [2022-04-27 13:03:50,047 INFO L290 TraceCheckUtils]: 62: Hoare triple {3684#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; {3684#false} is VALID [2022-04-27 13:03:50,047 INFO L290 TraceCheckUtils]: 63: Hoare triple {3684#false} assume !false; {3684#false} is VALID [2022-04-27 13:03:50,047 INFO L290 TraceCheckUtils]: 64: Hoare triple {3684#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3684#false} is VALID [2022-04-27 13:03:50,047 INFO L290 TraceCheckUtils]: 65: Hoare triple {3684#false} assume !false; {3684#false} is VALID [2022-04-27 13:03:50,047 INFO L272 TraceCheckUtils]: 66: Hoare triple {3684#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3684#false} is VALID [2022-04-27 13:03:50,047 INFO L290 TraceCheckUtils]: 67: Hoare triple {3684#false} ~cond := #in~cond; {3684#false} is VALID [2022-04-27 13:03:50,047 INFO L290 TraceCheckUtils]: 68: Hoare triple {3684#false} assume !(0 == ~cond); {3684#false} is VALID [2022-04-27 13:03:50,047 INFO L290 TraceCheckUtils]: 69: Hoare triple {3684#false} assume true; {3684#false} is VALID [2022-04-27 13:03:50,047 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {3684#false} {3684#false} #91#return; {3684#false} is VALID [2022-04-27 13:03:50,048 INFO L272 TraceCheckUtils]: 71: Hoare triple {3684#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3684#false} is VALID [2022-04-27 13:03:50,048 INFO L290 TraceCheckUtils]: 72: Hoare triple {3684#false} ~cond := #in~cond; {3684#false} is VALID [2022-04-27 13:03:50,048 INFO L290 TraceCheckUtils]: 73: Hoare triple {3684#false} assume 0 == ~cond; {3684#false} is VALID [2022-04-27 13:03:50,048 INFO L290 TraceCheckUtils]: 74: Hoare triple {3684#false} assume !false; {3684#false} is VALID [2022-04-27 13:03:50,048 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 35 proven. 18 refuted. 0 times theorem prover too weak. 62 trivial. 0 not checked. [2022-04-27 13:03:50,048 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:03:50,710 INFO L290 TraceCheckUtils]: 74: Hoare triple {3684#false} assume !false; {3684#false} is VALID [2022-04-27 13:03:50,710 INFO L290 TraceCheckUtils]: 73: Hoare triple {3684#false} assume 0 == ~cond; {3684#false} is VALID [2022-04-27 13:03:50,710 INFO L290 TraceCheckUtils]: 72: Hoare triple {3684#false} ~cond := #in~cond; {3684#false} is VALID [2022-04-27 13:03:50,710 INFO L272 TraceCheckUtils]: 71: Hoare triple {3684#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3684#false} is VALID [2022-04-27 13:03:50,710 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {3683#true} {3684#false} #91#return; {3684#false} is VALID [2022-04-27 13:03:50,710 INFO L290 TraceCheckUtils]: 69: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,710 INFO L290 TraceCheckUtils]: 68: Hoare triple {3683#true} assume !(0 == ~cond); {3683#true} is VALID [2022-04-27 13:03:50,710 INFO L290 TraceCheckUtils]: 67: Hoare triple {3683#true} ~cond := #in~cond; {3683#true} is VALID [2022-04-27 13:03:50,710 INFO L272 TraceCheckUtils]: 66: Hoare triple {3684#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,710 INFO L290 TraceCheckUtils]: 65: Hoare triple {3684#false} assume !false; {3684#false} is VALID [2022-04-27 13:03:50,711 INFO L290 TraceCheckUtils]: 64: Hoare triple {3946#(= main_~b~0 0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3684#false} is VALID [2022-04-27 13:03:50,711 INFO L290 TraceCheckUtils]: 63: Hoare triple {3946#(= main_~b~0 0)} assume !false; {3946#(= main_~b~0 0)} is VALID [2022-04-27 13:03:50,712 INFO L290 TraceCheckUtils]: 62: Hoare triple {3953#(= main_~c~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; {3946#(= main_~b~0 0)} is VALID [2022-04-27 13:03:50,712 INFO L290 TraceCheckUtils]: 61: Hoare triple {3957#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} assume !(~c~0 >= ~b~0); {3953#(= main_~c~0 0)} is VALID [2022-04-27 13:03:50,713 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3683#true} {3957#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} #97#return; {3957#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} is VALID [2022-04-27 13:03:50,713 INFO L290 TraceCheckUtils]: 59: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,713 INFO L290 TraceCheckUtils]: 58: Hoare triple {3683#true} assume !(0 == ~cond); {3683#true} is VALID [2022-04-27 13:03:50,713 INFO L290 TraceCheckUtils]: 57: Hoare triple {3683#true} ~cond := #in~cond; {3683#true} is VALID [2022-04-27 13:03:50,713 INFO L272 TraceCheckUtils]: 56: Hoare triple {3957#(or (<= main_~b~0 main_~c~0) (= main_~c~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)); {3683#true} is VALID [2022-04-27 13:03:50,713 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3683#true} {3957#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} #95#return; {3957#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} is VALID [2022-04-27 13:03:50,714 INFO L290 TraceCheckUtils]: 54: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,714 INFO L290 TraceCheckUtils]: 53: Hoare triple {3683#true} assume !(0 == ~cond); {3683#true} is VALID [2022-04-27 13:03:50,714 INFO L290 TraceCheckUtils]: 52: Hoare triple {3683#true} ~cond := #in~cond; {3683#true} is VALID [2022-04-27 13:03:50,714 INFO L272 TraceCheckUtils]: 51: Hoare triple {3957#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,714 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3683#true} {3957#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} #93#return; {3957#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} is VALID [2022-04-27 13:03:50,714 INFO L290 TraceCheckUtils]: 49: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,714 INFO L290 TraceCheckUtils]: 48: Hoare triple {3683#true} assume !(0 == ~cond); {3683#true} is VALID [2022-04-27 13:03:50,714 INFO L290 TraceCheckUtils]: 47: Hoare triple {3683#true} ~cond := #in~cond; {3683#true} is VALID [2022-04-27 13:03:50,715 INFO L272 TraceCheckUtils]: 46: Hoare triple {3957#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,715 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3683#true} {3957#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} #91#return; {3957#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} is VALID [2022-04-27 13:03:50,715 INFO L290 TraceCheckUtils]: 44: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,715 INFO L290 TraceCheckUtils]: 43: Hoare triple {3683#true} assume !(0 == ~cond); {3683#true} is VALID [2022-04-27 13:03:50,715 INFO L290 TraceCheckUtils]: 42: Hoare triple {3683#true} ~cond := #in~cond; {3683#true} is VALID [2022-04-27 13:03:50,715 INFO L272 TraceCheckUtils]: 41: Hoare triple {3957#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,717 INFO L290 TraceCheckUtils]: 40: Hoare triple {3957#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} assume !false; {3957#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} is VALID [2022-04-27 13:03:50,718 INFO L290 TraceCheckUtils]: 39: Hoare triple {4024#(and (or (<= main_~b~0 1) (<= main_~b~0 main_~a~0)) (or (<= main_~b~0 main_~a~0) (<= 0 main_~a~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3957#(or (<= main_~b~0 main_~c~0) (= main_~c~0 0))} is VALID [2022-04-27 13:03:50,718 INFO L290 TraceCheckUtils]: 38: Hoare triple {4024#(and (or (<= main_~b~0 1) (<= main_~b~0 main_~a~0)) (or (<= main_~b~0 main_~a~0) (<= 0 main_~a~0)))} assume !false; {4024#(and (or (<= main_~b~0 1) (<= main_~b~0 main_~a~0)) (or (<= main_~b~0 main_~a~0) (<= 0 main_~a~0)))} is VALID [2022-04-27 13:03:50,718 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3683#true} {4024#(and (or (<= main_~b~0 1) (<= main_~b~0 main_~a~0)) (or (<= main_~b~0 main_~a~0) (<= 0 main_~a~0)))} #89#return; {4024#(and (or (<= main_~b~0 1) (<= main_~b~0 main_~a~0)) (or (<= main_~b~0 main_~a~0) (<= 0 main_~a~0)))} is VALID [2022-04-27 13:03:50,719 INFO L290 TraceCheckUtils]: 36: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,719 INFO L290 TraceCheckUtils]: 35: Hoare triple {3683#true} assume !(0 == ~cond); {3683#true} is VALID [2022-04-27 13:03:50,719 INFO L290 TraceCheckUtils]: 34: Hoare triple {3683#true} ~cond := #in~cond; {3683#true} is VALID [2022-04-27 13:03:50,719 INFO L272 TraceCheckUtils]: 33: Hoare triple {4024#(and (or (<= main_~b~0 1) (<= main_~b~0 main_~a~0)) (or (<= main_~b~0 main_~a~0) (<= 0 main_~a~0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,719 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3683#true} {4024#(and (or (<= main_~b~0 1) (<= main_~b~0 main_~a~0)) (or (<= main_~b~0 main_~a~0) (<= 0 main_~a~0)))} #87#return; {4024#(and (or (<= main_~b~0 1) (<= main_~b~0 main_~a~0)) (or (<= main_~b~0 main_~a~0) (<= 0 main_~a~0)))} is VALID [2022-04-27 13:03:50,719 INFO L290 TraceCheckUtils]: 31: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,719 INFO L290 TraceCheckUtils]: 30: Hoare triple {3683#true} assume !(0 == ~cond); {3683#true} is VALID [2022-04-27 13:03:50,719 INFO L290 TraceCheckUtils]: 29: Hoare triple {3683#true} ~cond := #in~cond; {3683#true} is VALID [2022-04-27 13:03:50,719 INFO L272 TraceCheckUtils]: 28: Hoare triple {4024#(and (or (<= main_~b~0 1) (<= main_~b~0 main_~a~0)) (or (<= main_~b~0 main_~a~0) (<= 0 main_~a~0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,720 INFO L290 TraceCheckUtils]: 27: Hoare triple {4061#(and (or (<= 0 main_~x~0) (<= main_~y~0 main_~x~0)) (or (<= main_~y~0 1) (<= main_~y~0 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; {4024#(and (or (<= main_~b~0 1) (<= main_~b~0 main_~a~0)) (or (<= main_~b~0 main_~a~0) (<= 0 main_~a~0)))} is VALID [2022-04-27 13:03:50,720 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3683#true} {4061#(and (or (<= 0 main_~x~0) (<= main_~y~0 main_~x~0)) (or (<= main_~y~0 1) (<= main_~y~0 main_~x~0)))} #85#return; {4061#(and (or (<= 0 main_~x~0) (<= main_~y~0 main_~x~0)) (or (<= main_~y~0 1) (<= main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:03:50,720 INFO L290 TraceCheckUtils]: 25: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,720 INFO L290 TraceCheckUtils]: 24: Hoare triple {3683#true} assume !(0 == ~cond); {3683#true} is VALID [2022-04-27 13:03:50,720 INFO L290 TraceCheckUtils]: 23: Hoare triple {3683#true} ~cond := #in~cond; {3683#true} is VALID [2022-04-27 13:03:50,720 INFO L272 TraceCheckUtils]: 22: Hoare triple {4061#(and (or (<= 0 main_~x~0) (<= main_~y~0 main_~x~0)) (or (<= main_~y~0 1) (<= main_~y~0 main_~x~0)))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,721 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3731#(not (= |assume_abort_if_not_#in~cond| 0))} {4080#(<= main_~y~0 1)} #83#return; {4061#(and (or (<= 0 main_~x~0) (<= main_~y~0 main_~x~0)) (or (<= main_~y~0 1) (<= main_~y~0 main_~x~0)))} is VALID [2022-04-27 13:03:50,721 INFO L290 TraceCheckUtils]: 20: Hoare triple {3731#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3731#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:50,722 INFO L290 TraceCheckUtils]: 19: Hoare triple {4090#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {3731#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:50,722 INFO L290 TraceCheckUtils]: 18: Hoare triple {3683#true} ~cond := #in~cond; {4090#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:03:50,722 INFO L272 TraceCheckUtils]: 17: Hoare triple {4080#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,722 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3731#(not (= |assume_abort_if_not_#in~cond| 0))} {3683#true} #81#return; {4080#(<= main_~y~0 1)} is VALID [2022-04-27 13:03:50,723 INFO L290 TraceCheckUtils]: 15: Hoare triple {3731#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3731#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:50,723 INFO L290 TraceCheckUtils]: 14: Hoare triple {4090#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {3731#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:50,723 INFO L290 TraceCheckUtils]: 13: Hoare triple {3683#true} ~cond := #in~cond; {4090#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:03:50,723 INFO L272 TraceCheckUtils]: 12: Hoare triple {3683#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,723 INFO L290 TraceCheckUtils]: 11: Hoare triple {3683#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3683#true} is VALID [2022-04-27 13:03:50,723 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3683#true} {3683#true} #79#return; {3683#true} is VALID [2022-04-27 13:03:50,723 INFO L290 TraceCheckUtils]: 9: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,724 INFO L290 TraceCheckUtils]: 8: Hoare triple {3683#true} assume !(0 == ~cond); {3683#true} is VALID [2022-04-27 13:03:50,724 INFO L290 TraceCheckUtils]: 7: Hoare triple {3683#true} ~cond := #in~cond; {3683#true} is VALID [2022-04-27 13:03:50,724 INFO L272 TraceCheckUtils]: 6: Hoare triple {3683#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3683#true} is VALID [2022-04-27 13:03:50,724 INFO L290 TraceCheckUtils]: 5: Hoare triple {3683#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; {3683#true} is VALID [2022-04-27 13:03:50,724 INFO L272 TraceCheckUtils]: 4: Hoare triple {3683#true} call #t~ret6 := main(); {3683#true} is VALID [2022-04-27 13:03:50,724 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3683#true} {3683#true} #103#return; {3683#true} is VALID [2022-04-27 13:03:50,724 INFO L290 TraceCheckUtils]: 2: Hoare triple {3683#true} assume true; {3683#true} is VALID [2022-04-27 13:03:50,724 INFO L290 TraceCheckUtils]: 1: Hoare triple {3683#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); {3683#true} is VALID [2022-04-27 13:03:50,724 INFO L272 TraceCheckUtils]: 0: Hoare triple {3683#true} call ULTIMATE.init(); {3683#true} is VALID [2022-04-27 13:03:50,724 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 19 proven. 20 refuted. 0 times theorem prover too weak. 76 trivial. 0 not checked. [2022-04-27 13:03:50,724 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:03:50,724 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2143746926] [2022-04-27 13:03:50,725 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:03:50,725 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1665037866] [2022-04-27 13:03:50,725 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1665037866] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:03:50,725 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:03:50,725 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 10] total 15 [2022-04-27 13:03:50,725 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2135399658] [2022-04-27 13:03:50,725 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:03:50,725 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 10 states have call successors, (23), 2 states have call predecessors, (23), 3 states have return successors, (22), 10 states have call predecessors, (22), 10 states have call successors, (22) Word has length 75 [2022-04-27 13:03:50,726 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:03:50,726 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 10 states have call successors, (23), 2 states have call predecessors, (23), 3 states have return successors, (22), 10 states have call predecessors, (22), 10 states have call successors, (22) [2022-04-27 13:03:50,781 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:03:50,781 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-27 13:03:50,781 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:03:50,782 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-27 13:03:50,782 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=174, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:03:50,782 INFO L87 Difference]: Start difference. First operand 89 states and 122 transitions. Second operand has 15 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 10 states have call successors, (23), 2 states have call predecessors, (23), 3 states have return successors, (22), 10 states have call predecessors, (22), 10 states have call successors, (22) [2022-04-27 13:03:51,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:51,554 INFO L93 Difference]: Finished difference Result 104 states and 137 transitions. [2022-04-27 13:03:51,554 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:03:51,555 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 10 states have call successors, (23), 2 states have call predecessors, (23), 3 states have return successors, (22), 10 states have call predecessors, (22), 10 states have call successors, (22) Word has length 75 [2022-04-27 13:03:51,555 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:03:51,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 10 states have call successors, (23), 2 states have call predecessors, (23), 3 states have return successors, (22), 10 states have call predecessors, (22), 10 states have call successors, (22) [2022-04-27 13:03:51,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 82 transitions. [2022-04-27 13:03:51,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 10 states have call successors, (23), 2 states have call predecessors, (23), 3 states have return successors, (22), 10 states have call predecessors, (22), 10 states have call successors, (22) [2022-04-27 13:03:51,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 82 transitions. [2022-04-27 13:03:51,559 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 82 transitions. [2022-04-27 13:03:51,622 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:03:51,623 INFO L225 Difference]: With dead ends: 104 [2022-04-27 13:03:51,623 INFO L226 Difference]: Without dead ends: 59 [2022-04-27 13:03:51,624 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 154 GetRequests, 136 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=81, Invalid=299, Unknown=0, NotChecked=0, Total=380 [2022-04-27 13:03:51,624 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 20 mSDsluCounter, 172 mSDsCounter, 0 mSdLazyCounter, 198 mSolverCounterSat, 42 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 210 SdHoareTripleChecker+Invalid, 240 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 42 IncrementalHoareTripleChecker+Valid, 198 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:03:51,625 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 210 Invalid, 240 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [42 Valid, 198 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:03:51,625 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-04-27 13:03:51,698 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 59. [2022-04-27 13:03:51,698 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:03:51,698 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 59 states, 33 states have (on average 1.0606060606060606) internal successors, (35), 34 states have internal predecessors, (35), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:51,698 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 59 states, 33 states have (on average 1.0606060606060606) internal successors, (35), 34 states have internal predecessors, (35), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:51,699 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 59 states, 33 states have (on average 1.0606060606060606) internal successors, (35), 34 states have internal predecessors, (35), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:51,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:51,702 INFO L93 Difference]: Finished difference Result 59 states and 69 transitions. [2022-04-27 13:03:51,702 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-04-27 13:03:51,702 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:03:51,702 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:03:51,702 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 33 states have (on average 1.0606060606060606) internal successors, (35), 34 states have internal predecessors, (35), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 59 states. [2022-04-27 13:03:51,703 INFO L87 Difference]: Start difference. First operand has 59 states, 33 states have (on average 1.0606060606060606) internal successors, (35), 34 states have internal predecessors, (35), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 59 states. [2022-04-27 13:03:51,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:51,709 INFO L93 Difference]: Finished difference Result 59 states and 69 transitions. [2022-04-27 13:03:51,709 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-04-27 13:03:51,710 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:03:51,710 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:03:51,710 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:03:51,710 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:03:51,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 33 states have (on average 1.0606060606060606) internal successors, (35), 34 states have internal predecessors, (35), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:03:51,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 69 transitions. [2022-04-27 13:03:51,712 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 69 transitions. Word has length 75 [2022-04-27 13:03:51,712 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:03:51,712 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 69 transitions. [2022-04-27 13:03:51,712 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 10 states have call successors, (23), 2 states have call predecessors, (23), 3 states have return successors, (22), 10 states have call predecessors, (22), 10 states have call successors, (22) [2022-04-27 13:03:51,712 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-04-27 13:03:51,713 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-27 13:03:51,713 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:03:51,713 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:03:51,747 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-27 13:03:51,931 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:03:51,931 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:03:51,932 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:03:51,932 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 1 times [2022-04-27 13:03:51,932 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:03:51,932 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [21230356] [2022-04-27 13:03:51,932 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:03:51,932 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:03:51,947 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:03:51,947 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [267588013] [2022-04-27 13:03:51,947 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:03:51,947 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:03:51,948 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:03:51,955 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:03:51,956 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-27 13:03:52,003 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:03:52,005 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-27 13:03:52,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:03:52,026 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:03:54,504 INFO L272 TraceCheckUtils]: 0: Hoare triple {4525#true} call ULTIMATE.init(); {4525#true} is VALID [2022-04-27 13:03:54,505 INFO L290 TraceCheckUtils]: 1: Hoare triple {4525#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); {4525#true} is VALID [2022-04-27 13:03:54,505 INFO L290 TraceCheckUtils]: 2: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:54,505 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4525#true} {4525#true} #103#return; {4525#true} is VALID [2022-04-27 13:03:54,505 INFO L272 TraceCheckUtils]: 4: Hoare triple {4525#true} call #t~ret6 := main(); {4525#true} is VALID [2022-04-27 13:03:54,505 INFO L290 TraceCheckUtils]: 5: Hoare triple {4525#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; {4525#true} is VALID [2022-04-27 13:03:54,505 INFO L272 TraceCheckUtils]: 6: Hoare triple {4525#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:54,505 INFO L290 TraceCheckUtils]: 7: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:54,505 INFO L290 TraceCheckUtils]: 8: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:54,505 INFO L290 TraceCheckUtils]: 9: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:54,505 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4525#true} {4525#true} #79#return; {4525#true} is VALID [2022-04-27 13:03:54,505 INFO L290 TraceCheckUtils]: 11: Hoare triple {4525#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4525#true} is VALID [2022-04-27 13:03:54,505 INFO L272 TraceCheckUtils]: 12: Hoare triple {4525#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:54,506 INFO L290 TraceCheckUtils]: 13: Hoare triple {4525#true} ~cond := #in~cond; {4569#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:03:54,506 INFO L290 TraceCheckUtils]: 14: Hoare triple {4569#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4573#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:54,506 INFO L290 TraceCheckUtils]: 15: Hoare triple {4573#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4573#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:54,507 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4573#(not (= |assume_abort_if_not_#in~cond| 0))} {4525#true} #81#return; {4580#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:54,507 INFO L272 TraceCheckUtils]: 17: Hoare triple {4580#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:54,507 INFO L290 TraceCheckUtils]: 18: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:54,507 INFO L290 TraceCheckUtils]: 19: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:54,507 INFO L290 TraceCheckUtils]: 20: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:54,508 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4525#true} {4580#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {4580#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:54,508 INFO L272 TraceCheckUtils]: 22: Hoare triple {4580#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:54,508 INFO L290 TraceCheckUtils]: 23: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:54,508 INFO L290 TraceCheckUtils]: 24: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:54,508 INFO L290 TraceCheckUtils]: 25: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:54,508 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4525#true} {4580#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #85#return; {4580#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:54,509 INFO L290 TraceCheckUtils]: 27: Hoare triple {4580#(and (<= 0 main_~y~0) (<= main_~y~0 1))} ~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; {4614#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:03:54,509 INFO L272 TraceCheckUtils]: 28: Hoare triple {4614#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:54,509 INFO L290 TraceCheckUtils]: 29: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:54,509 INFO L290 TraceCheckUtils]: 30: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:54,509 INFO L290 TraceCheckUtils]: 31: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:54,510 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4525#true} {4614#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} #87#return; {4614#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:03:54,510 INFO L272 TraceCheckUtils]: 33: Hoare triple {4614#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:54,510 INFO L290 TraceCheckUtils]: 34: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:54,510 INFO L290 TraceCheckUtils]: 35: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:54,510 INFO L290 TraceCheckUtils]: 36: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:54,511 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4525#true} {4614#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} #89#return; {4614#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:03:54,511 INFO L290 TraceCheckUtils]: 38: Hoare triple {4614#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} assume !false; {4614#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:03:54,512 INFO L290 TraceCheckUtils]: 39: Hoare triple {4614#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4651#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:03:54,512 INFO L290 TraceCheckUtils]: 40: Hoare triple {4651#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} assume !false; {4651#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:03:54,512 INFO L272 TraceCheckUtils]: 41: Hoare triple {4651#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:54,512 INFO L290 TraceCheckUtils]: 42: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:54,512 INFO L290 TraceCheckUtils]: 43: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:54,512 INFO L290 TraceCheckUtils]: 44: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:54,513 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4525#true} {4651#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} #91#return; {4651#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:03:54,513 INFO L272 TraceCheckUtils]: 46: Hoare triple {4651#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:54,513 INFO L290 TraceCheckUtils]: 47: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:54,513 INFO L290 TraceCheckUtils]: 48: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:54,513 INFO L290 TraceCheckUtils]: 49: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:54,514 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4525#true} {4651#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} #93#return; {4651#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:03:54,514 INFO L272 TraceCheckUtils]: 51: Hoare triple {4651#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:54,514 INFO L290 TraceCheckUtils]: 52: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:54,514 INFO L290 TraceCheckUtils]: 53: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:54,514 INFO L290 TraceCheckUtils]: 54: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:54,515 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4525#true} {4651#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} #95#return; {4651#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:03:54,515 INFO L272 TraceCheckUtils]: 56: Hoare triple {4651#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= 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)); {4525#true} is VALID [2022-04-27 13:03:54,515 INFO L290 TraceCheckUtils]: 57: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:54,515 INFO L290 TraceCheckUtils]: 58: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:54,515 INFO L290 TraceCheckUtils]: 59: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:54,516 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {4525#true} {4651#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} #97#return; {4651#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:03:54,517 INFO L290 TraceCheckUtils]: 61: Hoare triple {4651#(and (<= 0 main_~y~0) (= 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_~y~0 1) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {4718#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:03:54,517 INFO L290 TraceCheckUtils]: 62: Hoare triple {4718#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {4718#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:03:54,517 INFO L272 TraceCheckUtils]: 63: Hoare triple {4718#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:54,517 INFO L290 TraceCheckUtils]: 64: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:54,517 INFO L290 TraceCheckUtils]: 65: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:54,517 INFO L290 TraceCheckUtils]: 66: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:54,518 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4525#true} {4718#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} #91#return; {4718#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:03:54,518 INFO L272 TraceCheckUtils]: 68: Hoare triple {4718#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:54,518 INFO L290 TraceCheckUtils]: 69: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:54,518 INFO L290 TraceCheckUtils]: 70: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:54,518 INFO L290 TraceCheckUtils]: 71: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:54,519 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {4525#true} {4718#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} #93#return; {4718#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:03:54,519 INFO L272 TraceCheckUtils]: 73: Hoare triple {4718#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:54,519 INFO L290 TraceCheckUtils]: 74: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:54,519 INFO L290 TraceCheckUtils]: 75: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:54,519 INFO L290 TraceCheckUtils]: 76: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:54,520 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {4525#true} {4718#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} #95#return; {4718#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:03:54,520 INFO L272 TraceCheckUtils]: 78: Hoare triple {4718#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= 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)); {4525#true} is VALID [2022-04-27 13:03:54,520 INFO L290 TraceCheckUtils]: 79: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:54,520 INFO L290 TraceCheckUtils]: 80: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:54,520 INFO L290 TraceCheckUtils]: 81: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:54,521 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {4525#true} {4718#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} #97#return; {4718#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:03:54,522 INFO L290 TraceCheckUtils]: 83: Hoare triple {4718#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {4785#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:03:54,523 INFO L290 TraceCheckUtils]: 84: Hoare triple {4785#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 0) (<= main_~y~0 1) (= 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; {4789#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:54,523 INFO L290 TraceCheckUtils]: 85: Hoare triple {4789#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} assume !false; {4789#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:54,523 INFO L290 TraceCheckUtils]: 86: Hoare triple {4789#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} assume !(0 != ~b~0); {4789#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} is VALID [2022-04-27 13:03:54,524 INFO L272 TraceCheckUtils]: 87: Hoare triple {4789#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {4799#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:03:54,525 INFO L290 TraceCheckUtils]: 88: Hoare triple {4799#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4803#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:03:54,525 INFO L290 TraceCheckUtils]: 89: Hoare triple {4803#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4526#false} is VALID [2022-04-27 13:03:54,525 INFO L290 TraceCheckUtils]: 90: Hoare triple {4526#false} assume !false; {4526#false} is VALID [2022-04-27 13:03:54,525 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 19 proven. 20 refuted. 0 times theorem prover too weak. 157 trivial. 0 not checked. [2022-04-27 13:03:54,526 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:03:55,547 INFO L290 TraceCheckUtils]: 90: Hoare triple {4526#false} assume !false; {4526#false} is VALID [2022-04-27 13:03:55,548 INFO L290 TraceCheckUtils]: 89: Hoare triple {4803#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4526#false} is VALID [2022-04-27 13:03:55,548 INFO L290 TraceCheckUtils]: 88: Hoare triple {4799#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4803#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:03:55,548 INFO L272 TraceCheckUtils]: 87: Hoare triple {4819#(= (+ (* 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)); {4799#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:03:55,549 INFO L290 TraceCheckUtils]: 86: Hoare triple {4819#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} assume !(0 != ~b~0); {4819#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-27 13:03:55,549 INFO L290 TraceCheckUtils]: 85: Hoare triple {4819#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} assume !false; {4819#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-27 13:03:55,829 INFO L290 TraceCheckUtils]: 84: Hoare triple {4829#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4819#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-27 13:03:55,829 INFO L290 TraceCheckUtils]: 83: Hoare triple {4833#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !(~c~0 >= ~b~0); {4829#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0)} is VALID [2022-04-27 13:03:55,830 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {4525#true} {4833#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #97#return; {4833#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 13:03:55,830 INFO L290 TraceCheckUtils]: 81: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:55,830 INFO L290 TraceCheckUtils]: 80: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:55,830 INFO L290 TraceCheckUtils]: 79: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:55,830 INFO L272 TraceCheckUtils]: 78: Hoare triple {4833#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:55,831 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {4525#true} {4833#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #95#return; {4833#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 13:03:55,831 INFO L290 TraceCheckUtils]: 76: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:55,831 INFO L290 TraceCheckUtils]: 75: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:55,831 INFO L290 TraceCheckUtils]: 74: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:55,831 INFO L272 TraceCheckUtils]: 73: Hoare triple {4833#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:55,832 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {4525#true} {4833#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #93#return; {4833#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 13:03:55,832 INFO L290 TraceCheckUtils]: 71: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:55,832 INFO L290 TraceCheckUtils]: 70: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:55,832 INFO L290 TraceCheckUtils]: 69: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:55,832 INFO L272 TraceCheckUtils]: 68: Hoare triple {4833#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:55,833 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4525#true} {4833#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #91#return; {4833#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 13:03:55,833 INFO L290 TraceCheckUtils]: 66: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:55,833 INFO L290 TraceCheckUtils]: 65: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:55,833 INFO L290 TraceCheckUtils]: 64: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:55,833 INFO L272 TraceCheckUtils]: 63: Hoare triple {4833#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:55,833 INFO L290 TraceCheckUtils]: 62: Hoare triple {4833#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !false; {4833#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 13:03:56,213 INFO L290 TraceCheckUtils]: 61: Hoare triple {4900#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {4833#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-27 13:03:56,214 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {4525#true} {4900#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #97#return; {4900#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-27 13:03:56,214 INFO L290 TraceCheckUtils]: 59: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:56,214 INFO L290 TraceCheckUtils]: 58: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:56,214 INFO L290 TraceCheckUtils]: 57: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:56,215 INFO L272 TraceCheckUtils]: 56: Hoare triple {4900#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:56,216 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4525#true} {4900#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #95#return; {4900#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-27 13:03:56,216 INFO L290 TraceCheckUtils]: 54: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:56,216 INFO L290 TraceCheckUtils]: 53: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:56,216 INFO L290 TraceCheckUtils]: 52: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:56,216 INFO L272 TraceCheckUtils]: 51: Hoare triple {4900#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:56,217 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4525#true} {4900#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #93#return; {4900#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-27 13:03:56,217 INFO L290 TraceCheckUtils]: 49: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:56,217 INFO L290 TraceCheckUtils]: 48: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:56,217 INFO L290 TraceCheckUtils]: 47: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:56,217 INFO L272 TraceCheckUtils]: 46: Hoare triple {4900#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:56,217 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4525#true} {4900#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #91#return; {4900#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-27 13:03:56,218 INFO L290 TraceCheckUtils]: 44: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:56,218 INFO L290 TraceCheckUtils]: 43: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:56,218 INFO L290 TraceCheckUtils]: 42: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:56,218 INFO L272 TraceCheckUtils]: 41: Hoare triple {4900#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:56,218 INFO L290 TraceCheckUtils]: 40: Hoare triple {4900#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} assume !false; {4900#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-27 13:03:56,219 INFO L290 TraceCheckUtils]: 39: Hoare triple {4967#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4900#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-27 13:03:56,219 INFO L290 TraceCheckUtils]: 38: Hoare triple {4967#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} assume !false; {4967#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-27 13:03:56,220 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4525#true} {4967#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} #89#return; {4967#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-27 13:03:56,220 INFO L290 TraceCheckUtils]: 36: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:56,220 INFO L290 TraceCheckUtils]: 35: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:56,220 INFO L290 TraceCheckUtils]: 34: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:56,220 INFO L272 TraceCheckUtils]: 33: Hoare triple {4967#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:56,220 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4525#true} {4967#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} #87#return; {4967#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-27 13:03:56,221 INFO L290 TraceCheckUtils]: 31: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:56,221 INFO L290 TraceCheckUtils]: 30: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:56,221 INFO L290 TraceCheckUtils]: 29: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:56,221 INFO L272 TraceCheckUtils]: 28: Hoare triple {4967#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:56,221 INFO L290 TraceCheckUtils]: 27: Hoare triple {5004#(<= main_~y~0 1)} ~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; {4967#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-27 13:03:56,222 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4525#true} {5004#(<= main_~y~0 1)} #85#return; {5004#(<= main_~y~0 1)} is VALID [2022-04-27 13:03:56,222 INFO L290 TraceCheckUtils]: 25: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:56,222 INFO L290 TraceCheckUtils]: 24: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:56,222 INFO L290 TraceCheckUtils]: 23: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:56,222 INFO L272 TraceCheckUtils]: 22: Hoare triple {5004#(<= main_~y~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:56,222 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4525#true} {5004#(<= main_~y~0 1)} #83#return; {5004#(<= main_~y~0 1)} is VALID [2022-04-27 13:03:56,222 INFO L290 TraceCheckUtils]: 20: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:56,222 INFO L290 TraceCheckUtils]: 19: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:56,222 INFO L290 TraceCheckUtils]: 18: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:56,223 INFO L272 TraceCheckUtils]: 17: Hoare triple {5004#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:56,223 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4573#(not (= |assume_abort_if_not_#in~cond| 0))} {4525#true} #81#return; {5004#(<= main_~y~0 1)} is VALID [2022-04-27 13:03:56,223 INFO L290 TraceCheckUtils]: 15: Hoare triple {4573#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4573#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:56,223 INFO L290 TraceCheckUtils]: 14: Hoare triple {5047#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4573#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:03:56,224 INFO L290 TraceCheckUtils]: 13: Hoare triple {4525#true} ~cond := #in~cond; {5047#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:03:56,224 INFO L272 TraceCheckUtils]: 12: Hoare triple {4525#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:56,224 INFO L290 TraceCheckUtils]: 11: Hoare triple {4525#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4525#true} is VALID [2022-04-27 13:03:56,224 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4525#true} {4525#true} #79#return; {4525#true} is VALID [2022-04-27 13:03:56,224 INFO L290 TraceCheckUtils]: 9: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:56,224 INFO L290 TraceCheckUtils]: 8: Hoare triple {4525#true} assume !(0 == ~cond); {4525#true} is VALID [2022-04-27 13:03:56,224 INFO L290 TraceCheckUtils]: 7: Hoare triple {4525#true} ~cond := #in~cond; {4525#true} is VALID [2022-04-27 13:03:56,224 INFO L272 TraceCheckUtils]: 6: Hoare triple {4525#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {4525#true} is VALID [2022-04-27 13:03:56,224 INFO L290 TraceCheckUtils]: 5: Hoare triple {4525#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; {4525#true} is VALID [2022-04-27 13:03:56,224 INFO L272 TraceCheckUtils]: 4: Hoare triple {4525#true} call #t~ret6 := main(); {4525#true} is VALID [2022-04-27 13:03:56,224 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4525#true} {4525#true} #103#return; {4525#true} is VALID [2022-04-27 13:03:56,224 INFO L290 TraceCheckUtils]: 2: Hoare triple {4525#true} assume true; {4525#true} is VALID [2022-04-27 13:03:56,225 INFO L290 TraceCheckUtils]: 1: Hoare triple {4525#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); {4525#true} is VALID [2022-04-27 13:03:56,225 INFO L272 TraceCheckUtils]: 0: Hoare triple {4525#true} call ULTIMATE.init(); {4525#true} is VALID [2022-04-27 13:03:56,225 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 19 proven. 20 refuted. 0 times theorem prover too weak. 157 trivial. 0 not checked. [2022-04-27 13:03:56,225 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:03:56,225 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [21230356] [2022-04-27 13:03:56,225 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:03:56,225 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [267588013] [2022-04-27 13:03:56,225 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [267588013] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:03:56,225 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:03:56,225 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-27 13:03:56,226 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [502883749] [2022-04-27 13:03:56,226 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:03:56,226 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.0) internal successors, (38), 16 states have internal predecessors, (38), 11 states have call successors, (30), 2 states have call predecessors, (30), 2 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) Word has length 91 [2022-04-27 13:03:56,226 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:03:56,227 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.0) internal successors, (38), 16 states have internal predecessors, (38), 11 states have call successors, (30), 2 states have call predecessors, (30), 2 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) [2022-04-27 13:03:56,785 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:03:56,785 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-27 13:03:56,786 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:03:56,786 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-27 13:03:56,786 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=286, Unknown=0, NotChecked=0, Total=342 [2022-04-27 13:03:56,786 INFO L87 Difference]: Start difference. First operand 59 states and 69 transitions. Second operand has 19 states, 19 states have (on average 2.0) internal successors, (38), 16 states have internal predecessors, (38), 11 states have call successors, (30), 2 states have call predecessors, (30), 2 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) [2022-04-27 13:03:59,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:03:59,806 INFO L93 Difference]: Finished difference Result 91 states and 111 transitions. [2022-04-27 13:03:59,806 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-27 13:03:59,806 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.0) internal successors, (38), 16 states have internal predecessors, (38), 11 states have call successors, (30), 2 states have call predecessors, (30), 2 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) Word has length 91 [2022-04-27 13:03:59,806 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:03:59,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.0) internal successors, (38), 16 states have internal predecessors, (38), 11 states have call successors, (30), 2 states have call predecessors, (30), 2 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) [2022-04-27 13:03:59,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 96 transitions. [2022-04-27 13:03:59,808 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.0) internal successors, (38), 16 states have internal predecessors, (38), 11 states have call successors, (30), 2 states have call predecessors, (30), 2 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) [2022-04-27 13:03:59,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 96 transitions. [2022-04-27 13:03:59,810 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 96 transitions. [2022-04-27 13:03:59,936 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:03:59,937 INFO L225 Difference]: With dead ends: 91 [2022-04-27 13:03:59,937 INFO L226 Difference]: Without dead ends: 89 [2022-04-27 13:03:59,937 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 195 GetRequests, 163 SyntacticMatches, 1 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 169 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=190, Invalid=866, Unknown=0, NotChecked=0, Total=1056 [2022-04-27 13:03:59,938 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 39 mSDsluCounter, 201 mSDsCounter, 0 mSdLazyCounter, 418 mSolverCounterSat, 55 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 43 SdHoareTripleChecker+Valid, 245 SdHoareTripleChecker+Invalid, 473 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 55 IncrementalHoareTripleChecker+Valid, 418 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:03:59,938 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [43 Valid, 245 Invalid, 473 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [55 Valid, 418 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-27 13:03:59,938 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-04-27 13:04:00,075 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 83. [2022-04-27 13:04:00,075 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:04:00,075 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 83 states, 46 states have (on average 1.0869565217391304) internal successors, (50), 48 states have internal predecessors, (50), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 13:04:00,075 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 83 states, 46 states have (on average 1.0869565217391304) internal successors, (50), 48 states have internal predecessors, (50), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 13:04:00,075 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 83 states, 46 states have (on average 1.0869565217391304) internal successors, (50), 48 states have internal predecessors, (50), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 13:04:00,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:04:00,078 INFO L93 Difference]: Finished difference Result 89 states and 109 transitions. [2022-04-27 13:04:00,078 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 109 transitions. [2022-04-27 13:04:00,078 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:04:00,078 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:04:00,078 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 46 states have (on average 1.0869565217391304) internal successors, (50), 48 states have internal predecessors, (50), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) Second operand 89 states. [2022-04-27 13:04:00,078 INFO L87 Difference]: Start difference. First operand has 83 states, 46 states have (on average 1.0869565217391304) internal successors, (50), 48 states have internal predecessors, (50), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) Second operand 89 states. [2022-04-27 13:04:00,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:04:00,081 INFO L93 Difference]: Finished difference Result 89 states and 109 transitions. [2022-04-27 13:04:00,081 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 109 transitions. [2022-04-27 13:04:00,081 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:04:00,081 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:04:00,081 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:04:00,081 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:04:00,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 46 states have (on average 1.0869565217391304) internal successors, (50), 48 states have internal predecessors, (50), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 13:04:00,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 102 transitions. [2022-04-27 13:04:00,084 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 102 transitions. Word has length 91 [2022-04-27 13:04:00,084 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:04:00,084 INFO L495 AbstractCegarLoop]: Abstraction has 83 states and 102 transitions. [2022-04-27 13:04:00,085 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.0) internal successors, (38), 16 states have internal predecessors, (38), 11 states have call successors, (30), 2 states have call predecessors, (30), 2 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) [2022-04-27 13:04:00,085 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 102 transitions. [2022-04-27 13:04:00,085 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2022-04-27 13:04:00,085 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:04:00,085 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:04:00,101 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-27 13:04:00,299 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-27 13:04:00,299 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:04:00,300 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:04:00,300 INFO L85 PathProgramCache]: Analyzing trace with hash -2082914122, now seen corresponding path program 1 times [2022-04-27 13:04:00,300 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:04:00,300 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [737634315] [2022-04-27 13:04:00,300 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:04:00,300 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:04:00,312 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:04:00,312 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [863540929] [2022-04-27 13:04:00,312 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:04:00,312 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:04:00,312 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:04:00,313 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:04:00,314 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-27 13:04:00,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:04:00,363 INFO L263 TraceCheckSpWp]: Trace formula consists of 242 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-27 13:04:00,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:04:00,378 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:04:01,718 INFO L272 TraceCheckUtils]: 0: Hoare triple {5561#true} call ULTIMATE.init(); {5561#true} is VALID [2022-04-27 13:04:01,718 INFO L290 TraceCheckUtils]: 1: Hoare triple {5561#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); {5561#true} is VALID [2022-04-27 13:04:01,718 INFO L290 TraceCheckUtils]: 2: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:01,718 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5561#true} {5561#true} #103#return; {5561#true} is VALID [2022-04-27 13:04:01,718 INFO L272 TraceCheckUtils]: 4: Hoare triple {5561#true} call #t~ret6 := main(); {5561#true} is VALID [2022-04-27 13:04:01,718 INFO L290 TraceCheckUtils]: 5: Hoare triple {5561#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; {5561#true} is VALID [2022-04-27 13:04:01,718 INFO L272 TraceCheckUtils]: 6: Hoare triple {5561#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:01,719 INFO L290 TraceCheckUtils]: 7: Hoare triple {5561#true} ~cond := #in~cond; {5587#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:04:01,719 INFO L290 TraceCheckUtils]: 8: Hoare triple {5587#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5591#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:04:01,719 INFO L290 TraceCheckUtils]: 9: Hoare triple {5591#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5591#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:04:01,720 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5591#(not (= |assume_abort_if_not_#in~cond| 0))} {5561#true} #79#return; {5598#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-27 13:04:01,720 INFO L290 TraceCheckUtils]: 11: Hoare triple {5598#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5598#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-27 13:04:01,720 INFO L272 TraceCheckUtils]: 12: Hoare triple {5598#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:01,720 INFO L290 TraceCheckUtils]: 13: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:01,720 INFO L290 TraceCheckUtils]: 14: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:01,720 INFO L290 TraceCheckUtils]: 15: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:01,721 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5561#true} {5598#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #81#return; {5598#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-27 13:04:01,721 INFO L272 TraceCheckUtils]: 17: Hoare triple {5598#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:01,721 INFO L290 TraceCheckUtils]: 18: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:01,721 INFO L290 TraceCheckUtils]: 19: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:01,721 INFO L290 TraceCheckUtils]: 20: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:01,721 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5561#true} {5598#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #83#return; {5598#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-27 13:04:01,721 INFO L272 TraceCheckUtils]: 22: Hoare triple {5598#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:01,721 INFO L290 TraceCheckUtils]: 23: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:01,721 INFO L290 TraceCheckUtils]: 24: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:01,721 INFO L290 TraceCheckUtils]: 25: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:01,722 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5561#true} {5598#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #85#return; {5598#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-27 13:04:01,722 INFO L290 TraceCheckUtils]: 27: Hoare triple {5598#(and (<= 0 main_~x~0) (<= main_~x~0 1))} ~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; {5650#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~q~0 0))} is VALID [2022-04-27 13:04:01,722 INFO L272 TraceCheckUtils]: 28: Hoare triple {5650#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~q~0 0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:01,722 INFO L290 TraceCheckUtils]: 29: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:01,722 INFO L290 TraceCheckUtils]: 30: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:01,722 INFO L290 TraceCheckUtils]: 31: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:01,723 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5561#true} {5650#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~q~0 0))} #87#return; {5650#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~q~0 0))} is VALID [2022-04-27 13:04:01,723 INFO L272 TraceCheckUtils]: 33: Hoare triple {5650#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~q~0 0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:01,723 INFO L290 TraceCheckUtils]: 34: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:01,723 INFO L290 TraceCheckUtils]: 35: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:01,723 INFO L290 TraceCheckUtils]: 36: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:01,724 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5561#true} {5650#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~q~0 0))} #89#return; {5650#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~q~0 0))} is VALID [2022-04-27 13:04:01,724 INFO L290 TraceCheckUtils]: 38: Hoare triple {5650#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~q~0 0))} assume !false; {5650#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~q~0 0))} is VALID [2022-04-27 13:04:01,724 INFO L290 TraceCheckUtils]: 39: Hoare triple {5650#(and (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~q~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5687#(and (<= main_~c~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~q~0 0))} is VALID [2022-04-27 13:04:01,725 INFO L290 TraceCheckUtils]: 40: Hoare triple {5687#(and (<= main_~c~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~q~0 0))} assume !false; {5687#(and (<= main_~c~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~q~0 0))} is VALID [2022-04-27 13:04:01,725 INFO L272 TraceCheckUtils]: 41: Hoare triple {5687#(and (<= main_~c~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:01,725 INFO L290 TraceCheckUtils]: 42: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:01,725 INFO L290 TraceCheckUtils]: 43: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:01,725 INFO L290 TraceCheckUtils]: 44: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:01,725 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5561#true} {5687#(and (<= main_~c~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~q~0 0))} #91#return; {5687#(and (<= main_~c~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~q~0 0))} is VALID [2022-04-27 13:04:01,725 INFO L272 TraceCheckUtils]: 46: Hoare triple {5687#(and (<= main_~c~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:01,725 INFO L290 TraceCheckUtils]: 47: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:01,726 INFO L290 TraceCheckUtils]: 48: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:01,726 INFO L290 TraceCheckUtils]: 49: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:01,726 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5561#true} {5687#(and (<= main_~c~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~q~0 0))} #93#return; {5687#(and (<= main_~c~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~q~0 0))} is VALID [2022-04-27 13:04:01,726 INFO L272 TraceCheckUtils]: 51: Hoare triple {5687#(and (<= main_~c~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:01,726 INFO L290 TraceCheckUtils]: 52: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:01,726 INFO L290 TraceCheckUtils]: 53: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:01,726 INFO L290 TraceCheckUtils]: 54: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:01,727 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5561#true} {5687#(and (<= main_~c~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~q~0 0))} #95#return; {5687#(and (<= main_~c~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~q~0 0))} is VALID [2022-04-27 13:04:01,727 INFO L272 TraceCheckUtils]: 56: Hoare triple {5687#(and (<= main_~c~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:01,727 INFO L290 TraceCheckUtils]: 57: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:01,727 INFO L290 TraceCheckUtils]: 58: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:01,727 INFO L290 TraceCheckUtils]: 59: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:01,728 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {5561#true} {5687#(and (<= main_~c~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~q~0 0))} #97#return; {5687#(and (<= main_~c~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~q~0 0))} is VALID [2022-04-27 13:04:01,728 INFO L290 TraceCheckUtils]: 61: Hoare triple {5687#(and (<= main_~c~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~q~0 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {5754#(and (<= main_~b~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= 0 main_~c~0) (= main_~q~0 0))} is VALID [2022-04-27 13:04:01,730 INFO L290 TraceCheckUtils]: 62: Hoare triple {5754#(and (<= main_~b~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= 0 main_~c~0) (= main_~q~0 0))} assume !false; {5754#(and (<= main_~b~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= 0 main_~c~0) (= main_~q~0 0))} is VALID [2022-04-27 13:04:01,730 INFO L272 TraceCheckUtils]: 63: Hoare triple {5754#(and (<= main_~b~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= 0 main_~c~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:01,730 INFO L290 TraceCheckUtils]: 64: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:01,730 INFO L290 TraceCheckUtils]: 65: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:01,730 INFO L290 TraceCheckUtils]: 66: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:01,730 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5561#true} {5754#(and (<= main_~b~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= 0 main_~c~0) (= main_~q~0 0))} #91#return; {5754#(and (<= main_~b~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= 0 main_~c~0) (= main_~q~0 0))} is VALID [2022-04-27 13:04:01,730 INFO L272 TraceCheckUtils]: 68: Hoare triple {5754#(and (<= main_~b~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= 0 main_~c~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:01,730 INFO L290 TraceCheckUtils]: 69: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:01,731 INFO L290 TraceCheckUtils]: 70: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:01,731 INFO L290 TraceCheckUtils]: 71: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:01,731 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5561#true} {5754#(and (<= main_~b~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= 0 main_~c~0) (= main_~q~0 0))} #93#return; {5754#(and (<= main_~b~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= 0 main_~c~0) (= main_~q~0 0))} is VALID [2022-04-27 13:04:01,731 INFO L272 TraceCheckUtils]: 73: Hoare triple {5754#(and (<= main_~b~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= 0 main_~c~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:01,731 INFO L290 TraceCheckUtils]: 74: Hoare triple {5561#true} ~cond := #in~cond; {5794#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:04:01,732 INFO L290 TraceCheckUtils]: 75: Hoare triple {5794#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:04:01,732 INFO L290 TraceCheckUtils]: 76: Hoare triple {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:04:01,733 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} {5754#(and (<= main_~b~0 main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= 0 main_~c~0) (= main_~q~0 0))} #95#return; {5805#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 0 main_~x~0) (<= main_~x~0 1) (<= 0 main_~c~0) (= main_~q~0 0))} is VALID [2022-04-27 13:04:01,733 INFO L272 TraceCheckUtils]: 78: Hoare triple {5805#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 0 main_~x~0) (<= main_~x~0 1) (<= 0 main_~c~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:01,733 INFO L290 TraceCheckUtils]: 79: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:01,733 INFO L290 TraceCheckUtils]: 80: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:01,733 INFO L290 TraceCheckUtils]: 81: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:01,734 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {5561#true} {5805#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 0 main_~x~0) (<= main_~x~0 1) (<= 0 main_~c~0) (= main_~q~0 0))} #97#return; {5805#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 0 main_~x~0) (<= main_~x~0 1) (<= 0 main_~c~0) (= main_~q~0 0))} is VALID [2022-04-27 13:04:01,734 INFO L290 TraceCheckUtils]: 83: Hoare triple {5805#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 0 main_~x~0) (<= main_~x~0 1) (<= 0 main_~c~0) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {5824#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~x~0 1) (< 0 main_~b~0) (= main_~q~0 0))} is VALID [2022-04-27 13:04:01,735 INFO L290 TraceCheckUtils]: 84: Hoare triple {5824#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~x~0 1) (< 0 main_~b~0) (= main_~q~0 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {5828#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (< 0 main_~a~0))} is VALID [2022-04-27 13:04:01,735 INFO L290 TraceCheckUtils]: 85: Hoare triple {5828#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (< 0 main_~a~0))} assume !false; {5828#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (< 0 main_~a~0))} is VALID [2022-04-27 13:04:01,735 INFO L290 TraceCheckUtils]: 86: Hoare triple {5828#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (< 0 main_~a~0))} assume !(0 != ~b~0); {5828#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (< 0 main_~a~0))} is VALID [2022-04-27 13:04:01,736 INFO L272 TraceCheckUtils]: 87: Hoare triple {5828#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (< 0 main_~a~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:01,736 INFO L290 TraceCheckUtils]: 88: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:01,736 INFO L290 TraceCheckUtils]: 89: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:01,736 INFO L290 TraceCheckUtils]: 90: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:01,736 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {5561#true} {5828#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (< 0 main_~a~0))} #99#return; {5828#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (< 0 main_~a~0))} is VALID [2022-04-27 13:04:01,737 INFO L272 TraceCheckUtils]: 92: Hoare triple {5828#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (< 0 main_~a~0))} call __VERIFIER_assert((if ~p~0 * ~x~0 + ~r~0 * ~y~0 == ~a~0 then 1 else 0)); {5853#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:04:01,737 INFO L290 TraceCheckUtils]: 93: Hoare triple {5853#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:04:01,737 INFO L290 TraceCheckUtils]: 94: Hoare triple {5857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5562#false} is VALID [2022-04-27 13:04:01,738 INFO L290 TraceCheckUtils]: 95: Hoare triple {5562#false} assume !false; {5562#false} is VALID [2022-04-27 13:04:01,738 INFO L134 CoverageAnalysis]: Checked inductivity of 230 backedges. 35 proven. 30 refuted. 0 times theorem prover too weak. 165 trivial. 0 not checked. [2022-04-27 13:04:01,738 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:04:30,916 INFO L290 TraceCheckUtils]: 95: Hoare triple {5562#false} assume !false; {5562#false} is VALID [2022-04-27 13:04:30,917 INFO L290 TraceCheckUtils]: 94: Hoare triple {5857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5562#false} is VALID [2022-04-27 13:04:30,917 INFO L290 TraceCheckUtils]: 93: Hoare triple {5853#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:04:30,918 INFO L272 TraceCheckUtils]: 92: Hoare triple {5873#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 + ~r~0 * ~y~0 == ~a~0 then 1 else 0)); {5853#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:04:30,918 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {5561#true} {5873#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #99#return; {5873#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:04:30,918 INFO L290 TraceCheckUtils]: 90: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:30,918 INFO L290 TraceCheckUtils]: 89: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:30,918 INFO L290 TraceCheckUtils]: 88: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:30,918 INFO L272 TraceCheckUtils]: 87: Hoare triple {5873#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:30,919 INFO L290 TraceCheckUtils]: 86: Hoare triple {5873#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(0 != ~b~0); {5873#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:04:30,919 INFO L290 TraceCheckUtils]: 85: Hoare triple {5873#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {5873#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:04:30,920 INFO L290 TraceCheckUtils]: 84: Hoare triple {5898#(= 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; {5873#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:04:30,920 INFO L290 TraceCheckUtils]: 83: Hoare triple {5902#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {5898#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:04:30,920 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {5561#true} {5902#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} #97#return; {5902#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:04:30,921 INFO L290 TraceCheckUtils]: 81: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:30,921 INFO L290 TraceCheckUtils]: 80: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:30,921 INFO L290 TraceCheckUtils]: 79: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:30,921 INFO L272 TraceCheckUtils]: 78: Hoare triple {5902#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 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)); {5561#true} is VALID [2022-04-27 13:04:30,921 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} {5561#true} #95#return; {5902#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:04:30,922 INFO L290 TraceCheckUtils]: 76: Hoare triple {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:04:30,922 INFO L290 TraceCheckUtils]: 75: Hoare triple {5930#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:04:30,922 INFO L290 TraceCheckUtils]: 74: Hoare triple {5561#true} ~cond := #in~cond; {5930#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:04:30,922 INFO L272 TraceCheckUtils]: 73: Hoare triple {5561#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:30,922 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5561#true} {5561#true} #93#return; {5561#true} is VALID [2022-04-27 13:04:30,922 INFO L290 TraceCheckUtils]: 71: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:30,922 INFO L290 TraceCheckUtils]: 70: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:30,923 INFO L290 TraceCheckUtils]: 69: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:30,923 INFO L272 TraceCheckUtils]: 68: Hoare triple {5561#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:30,923 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5561#true} {5561#true} #91#return; {5561#true} is VALID [2022-04-27 13:04:30,923 INFO L290 TraceCheckUtils]: 66: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:30,923 INFO L290 TraceCheckUtils]: 65: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:30,923 INFO L290 TraceCheckUtils]: 64: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:30,923 INFO L272 TraceCheckUtils]: 63: Hoare triple {5561#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:30,923 INFO L290 TraceCheckUtils]: 62: Hoare triple {5561#true} assume !false; {5561#true} is VALID [2022-04-27 13:04:30,923 INFO L290 TraceCheckUtils]: 61: Hoare triple {5561#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {5561#true} is VALID [2022-04-27 13:04:30,923 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {5561#true} {5561#true} #97#return; {5561#true} is VALID [2022-04-27 13:04:30,923 INFO L290 TraceCheckUtils]: 59: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:30,923 INFO L290 TraceCheckUtils]: 58: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:30,923 INFO L290 TraceCheckUtils]: 57: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:30,923 INFO L272 TraceCheckUtils]: 56: Hoare triple {5561#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)); {5561#true} is VALID [2022-04-27 13:04:30,923 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5561#true} {5561#true} #95#return; {5561#true} is VALID [2022-04-27 13:04:30,924 INFO L290 TraceCheckUtils]: 54: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:30,924 INFO L290 TraceCheckUtils]: 53: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:30,924 INFO L290 TraceCheckUtils]: 52: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:30,924 INFO L272 TraceCheckUtils]: 51: Hoare triple {5561#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:30,924 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5561#true} {5561#true} #93#return; {5561#true} is VALID [2022-04-27 13:04:30,924 INFO L290 TraceCheckUtils]: 49: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:30,924 INFO L290 TraceCheckUtils]: 48: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:30,924 INFO L290 TraceCheckUtils]: 47: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:30,924 INFO L272 TraceCheckUtils]: 46: Hoare triple {5561#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:30,924 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5561#true} {5561#true} #91#return; {5561#true} is VALID [2022-04-27 13:04:30,924 INFO L290 TraceCheckUtils]: 44: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:30,924 INFO L290 TraceCheckUtils]: 43: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:30,924 INFO L290 TraceCheckUtils]: 42: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:30,924 INFO L272 TraceCheckUtils]: 41: Hoare triple {5561#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:30,924 INFO L290 TraceCheckUtils]: 40: Hoare triple {5561#true} assume !false; {5561#true} is VALID [2022-04-27 13:04:30,925 INFO L290 TraceCheckUtils]: 39: Hoare triple {5561#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5561#true} is VALID [2022-04-27 13:04:30,925 INFO L290 TraceCheckUtils]: 38: Hoare triple {5561#true} assume !false; {5561#true} is VALID [2022-04-27 13:04:30,925 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5561#true} {5561#true} #89#return; {5561#true} is VALID [2022-04-27 13:04:30,925 INFO L290 TraceCheckUtils]: 36: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:30,925 INFO L290 TraceCheckUtils]: 35: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:30,925 INFO L290 TraceCheckUtils]: 34: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:30,925 INFO L272 TraceCheckUtils]: 33: Hoare triple {5561#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:30,925 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5561#true} {5561#true} #87#return; {5561#true} is VALID [2022-04-27 13:04:30,925 INFO L290 TraceCheckUtils]: 31: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:30,925 INFO L290 TraceCheckUtils]: 30: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:30,925 INFO L290 TraceCheckUtils]: 29: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:30,925 INFO L272 TraceCheckUtils]: 28: Hoare triple {5561#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:30,925 INFO L290 TraceCheckUtils]: 27: Hoare triple {5561#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; {5561#true} is VALID [2022-04-27 13:04:30,925 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5561#true} {5561#true} #85#return; {5561#true} is VALID [2022-04-27 13:04:30,925 INFO L290 TraceCheckUtils]: 25: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:30,926 INFO L290 TraceCheckUtils]: 24: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:30,926 INFO L290 TraceCheckUtils]: 23: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:30,926 INFO L272 TraceCheckUtils]: 22: Hoare triple {5561#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:30,926 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5561#true} {5561#true} #83#return; {5561#true} is VALID [2022-04-27 13:04:30,926 INFO L290 TraceCheckUtils]: 20: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:30,926 INFO L290 TraceCheckUtils]: 19: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:30,926 INFO L290 TraceCheckUtils]: 18: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:30,926 INFO L272 TraceCheckUtils]: 17: Hoare triple {5561#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:30,926 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5561#true} {5561#true} #81#return; {5561#true} is VALID [2022-04-27 13:04:30,926 INFO L290 TraceCheckUtils]: 15: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:30,926 INFO L290 TraceCheckUtils]: 14: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:30,926 INFO L290 TraceCheckUtils]: 13: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:30,926 INFO L272 TraceCheckUtils]: 12: Hoare triple {5561#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:30,926 INFO L290 TraceCheckUtils]: 11: Hoare triple {5561#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5561#true} is VALID [2022-04-27 13:04:30,926 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5561#true} {5561#true} #79#return; {5561#true} is VALID [2022-04-27 13:04:30,926 INFO L290 TraceCheckUtils]: 9: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:30,927 INFO L290 TraceCheckUtils]: 8: Hoare triple {5561#true} assume !(0 == ~cond); {5561#true} is VALID [2022-04-27 13:04:30,927 INFO L290 TraceCheckUtils]: 7: Hoare triple {5561#true} ~cond := #in~cond; {5561#true} is VALID [2022-04-27 13:04:30,927 INFO L272 TraceCheckUtils]: 6: Hoare triple {5561#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {5561#true} is VALID [2022-04-27 13:04:30,927 INFO L290 TraceCheckUtils]: 5: Hoare triple {5561#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; {5561#true} is VALID [2022-04-27 13:04:30,927 INFO L272 TraceCheckUtils]: 4: Hoare triple {5561#true} call #t~ret6 := main(); {5561#true} is VALID [2022-04-27 13:04:30,927 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5561#true} {5561#true} #103#return; {5561#true} is VALID [2022-04-27 13:04:30,927 INFO L290 TraceCheckUtils]: 2: Hoare triple {5561#true} assume true; {5561#true} is VALID [2022-04-27 13:04:30,927 INFO L290 TraceCheckUtils]: 1: Hoare triple {5561#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); {5561#true} is VALID [2022-04-27 13:04:30,927 INFO L272 TraceCheckUtils]: 0: Hoare triple {5561#true} call ULTIMATE.init(); {5561#true} is VALID [2022-04-27 13:04:30,927 INFO L134 CoverageAnalysis]: Checked inductivity of 230 backedges. 39 proven. 7 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-27 13:04:30,927 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:04:30,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [737634315] [2022-04-27 13:04:30,928 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:04:30,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [863540929] [2022-04-27 13:04:30,928 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [863540929] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:04:30,928 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:04:30,928 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 9] total 19 [2022-04-27 13:04:30,928 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [390283021] [2022-04-27 13:04:30,928 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:04:30,929 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.1578947368421053) internal successors, (41), 16 states have internal predecessors, (41), 9 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 9 states have call predecessors, (29), 9 states have call successors, (29) Word has length 96 [2022-04-27 13:04:30,929 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:04:30,929 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.1578947368421053) internal successors, (41), 16 states have internal predecessors, (41), 9 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 9 states have call predecessors, (29), 9 states have call successors, (29) [2022-04-27 13:04:31,007 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:04:31,007 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-27 13:04:31,008 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:04:31,008 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-27 13:04:31,008 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=290, Unknown=0, NotChecked=0, Total=342 [2022-04-27 13:04:31,008 INFO L87 Difference]: Start difference. First operand 83 states and 102 transitions. Second operand has 19 states, 19 states have (on average 2.1578947368421053) internal successors, (41), 16 states have internal predecessors, (41), 9 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 9 states have call predecessors, (29), 9 states have call successors, (29) [2022-04-27 13:04:32,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:04:32,948 INFO L93 Difference]: Finished difference Result 89 states and 107 transitions. [2022-04-27 13:04:32,948 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-27 13:04:32,948 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.1578947368421053) internal successors, (41), 16 states have internal predecessors, (41), 9 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 9 states have call predecessors, (29), 9 states have call successors, (29) Word has length 96 [2022-04-27 13:04:32,948 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:04:32,948 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.1578947368421053) internal successors, (41), 16 states have internal predecessors, (41), 9 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 9 states have call predecessors, (29), 9 states have call successors, (29) [2022-04-27 13:04:32,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 62 transitions. [2022-04-27 13:04:32,949 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.1578947368421053) internal successors, (41), 16 states have internal predecessors, (41), 9 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 9 states have call predecessors, (29), 9 states have call successors, (29) [2022-04-27 13:04:32,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 62 transitions. [2022-04-27 13:04:32,951 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 62 transitions. [2022-04-27 13:04:33,019 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:04:33,020 INFO L225 Difference]: With dead ends: 89 [2022-04-27 13:04:33,020 INFO L226 Difference]: Without dead ends: 72 [2022-04-27 13:04:33,020 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 199 GetRequests, 174 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 105 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=105, Invalid=545, Unknown=0, NotChecked=0, Total=650 [2022-04-27 13:04:33,021 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 29 mSDsluCounter, 211 mSDsCounter, 0 mSdLazyCounter, 471 mSolverCounterSat, 63 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 244 SdHoareTripleChecker+Invalid, 534 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 63 IncrementalHoareTripleChecker+Valid, 471 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-27 13:04:33,021 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 244 Invalid, 534 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [63 Valid, 471 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-27 13:04:33,021 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-27 13:04:33,168 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 72. [2022-04-27 13:04:33,168 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:04:33,169 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 72 states, 39 states have (on average 1.0256410256410255) internal successors, (40), 39 states have internal predecessors, (40), 25 states have call successors, (25), 9 states have call predecessors, (25), 7 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-27 13:04:33,169 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 72 states, 39 states have (on average 1.0256410256410255) internal successors, (40), 39 states have internal predecessors, (40), 25 states have call successors, (25), 9 states have call predecessors, (25), 7 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-27 13:04:33,169 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 72 states, 39 states have (on average 1.0256410256410255) internal successors, (40), 39 states have internal predecessors, (40), 25 states have call successors, (25), 9 states have call predecessors, (25), 7 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-27 13:04:33,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:04:33,186 INFO L93 Difference]: Finished difference Result 72 states and 88 transitions. [2022-04-27 13:04:33,186 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 88 transitions. [2022-04-27 13:04:33,186 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:04:33,186 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:04:33,186 INFO L74 IsIncluded]: Start isIncluded. First operand has 72 states, 39 states have (on average 1.0256410256410255) internal successors, (40), 39 states have internal predecessors, (40), 25 states have call successors, (25), 9 states have call predecessors, (25), 7 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 72 states. [2022-04-27 13:04:33,187 INFO L87 Difference]: Start difference. First operand has 72 states, 39 states have (on average 1.0256410256410255) internal successors, (40), 39 states have internal predecessors, (40), 25 states have call successors, (25), 9 states have call predecessors, (25), 7 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 72 states. [2022-04-27 13:04:33,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:04:33,188 INFO L93 Difference]: Finished difference Result 72 states and 88 transitions. [2022-04-27 13:04:33,188 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 88 transitions. [2022-04-27 13:04:33,188 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:04:33,188 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:04:33,188 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:04:33,189 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:04:33,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 72 states, 39 states have (on average 1.0256410256410255) internal successors, (40), 39 states have internal predecessors, (40), 25 states have call successors, (25), 9 states have call predecessors, (25), 7 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-27 13:04:33,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 88 transitions. [2022-04-27 13:04:33,190 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 88 transitions. Word has length 96 [2022-04-27 13:04:33,190 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:04:33,190 INFO L495 AbstractCegarLoop]: Abstraction has 72 states and 88 transitions. [2022-04-27 13:04:33,190 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.1578947368421053) internal successors, (41), 16 states have internal predecessors, (41), 9 states have call successors, (30), 2 states have call predecessors, (30), 3 states have return successors, (29), 9 states have call predecessors, (29), 9 states have call successors, (29) [2022-04-27 13:04:33,190 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 88 transitions. [2022-04-27 13:04:33,191 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2022-04-27 13:04:33,191 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:04:33,191 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:04:33,207 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-27 13:04:33,407 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-27 13:04:33,407 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:04:33,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:04:33,408 INFO L85 PathProgramCache]: Analyzing trace with hash 1068997356, now seen corresponding path program 2 times [2022-04-27 13:04:33,408 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:04:33,408 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1111732559] [2022-04-27 13:04:33,408 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:04:33,408 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:04:33,422 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:04:33,422 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [840012223] [2022-04-27 13:04:33,422 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:04:33,422 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:04:33,422 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:04:33,423 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:04:33,424 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-27 13:04:33,479 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:04:33,479 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:04:33,480 INFO L263 TraceCheckSpWp]: Trace formula consists of 317 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 13:04:33,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:04:33,503 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:04:33,953 INFO L272 TraceCheckUtils]: 0: Hoare triple {6560#true} call ULTIMATE.init(); {6560#true} is VALID [2022-04-27 13:04:33,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {6560#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); {6560#true} is VALID [2022-04-27 13:04:33,954 INFO L290 TraceCheckUtils]: 2: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,954 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6560#true} {6560#true} #103#return; {6560#true} is VALID [2022-04-27 13:04:33,954 INFO L272 TraceCheckUtils]: 4: Hoare triple {6560#true} call #t~ret6 := main(); {6560#true} is VALID [2022-04-27 13:04:33,954 INFO L290 TraceCheckUtils]: 5: Hoare triple {6560#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; {6560#true} is VALID [2022-04-27 13:04:33,954 INFO L272 TraceCheckUtils]: 6: Hoare triple {6560#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:33,954 INFO L290 TraceCheckUtils]: 7: Hoare triple {6560#true} ~cond := #in~cond; {6586#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:04:33,955 INFO L290 TraceCheckUtils]: 8: Hoare triple {6586#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6590#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:04:33,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {6590#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6590#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:04:33,955 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6590#(not (= |assume_abort_if_not_#in~cond| 0))} {6560#true} #79#return; {6597#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-27 13:04:33,956 INFO L290 TraceCheckUtils]: 11: Hoare triple {6597#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6597#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-27 13:04:33,956 INFO L272 TraceCheckUtils]: 12: Hoare triple {6597#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:33,956 INFO L290 TraceCheckUtils]: 13: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,956 INFO L290 TraceCheckUtils]: 14: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,956 INFO L290 TraceCheckUtils]: 15: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,956 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6560#true} {6597#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #81#return; {6597#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-27 13:04:33,956 INFO L272 TraceCheckUtils]: 17: Hoare triple {6597#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:33,956 INFO L290 TraceCheckUtils]: 18: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,957 INFO L290 TraceCheckUtils]: 19: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,957 INFO L290 TraceCheckUtils]: 20: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,957 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6560#true} {6597#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #83#return; {6597#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-27 13:04:33,957 INFO L272 TraceCheckUtils]: 22: Hoare triple {6597#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:33,957 INFO L290 TraceCheckUtils]: 23: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,957 INFO L290 TraceCheckUtils]: 24: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,957 INFO L290 TraceCheckUtils]: 25: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,957 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6560#true} {6597#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #85#return; {6597#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-27 13:04:33,958 INFO L290 TraceCheckUtils]: 27: Hoare triple {6597#(and (<= 0 main_~x~0) (<= main_~x~0 1))} ~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; {6649#(<= main_~a~0 1)} is VALID [2022-04-27 13:04:33,958 INFO L272 TraceCheckUtils]: 28: Hoare triple {6649#(<= main_~a~0 1)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:33,958 INFO L290 TraceCheckUtils]: 29: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,958 INFO L290 TraceCheckUtils]: 30: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,958 INFO L290 TraceCheckUtils]: 31: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,958 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6560#true} {6649#(<= main_~a~0 1)} #87#return; {6649#(<= main_~a~0 1)} is VALID [2022-04-27 13:04:33,959 INFO L272 TraceCheckUtils]: 33: Hoare triple {6649#(<= main_~a~0 1)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:33,959 INFO L290 TraceCheckUtils]: 34: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,959 INFO L290 TraceCheckUtils]: 35: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,959 INFO L290 TraceCheckUtils]: 36: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,959 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6560#true} {6649#(<= main_~a~0 1)} #89#return; {6649#(<= main_~a~0 1)} is VALID [2022-04-27 13:04:33,963 INFO L290 TraceCheckUtils]: 38: Hoare triple {6649#(<= main_~a~0 1)} assume !false; {6649#(<= main_~a~0 1)} is VALID [2022-04-27 13:04:33,963 INFO L290 TraceCheckUtils]: 39: Hoare triple {6649#(<= main_~a~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6686#(<= main_~c~0 1)} is VALID [2022-04-27 13:04:33,963 INFO L290 TraceCheckUtils]: 40: Hoare triple {6686#(<= main_~c~0 1)} assume !false; {6686#(<= main_~c~0 1)} is VALID [2022-04-27 13:04:33,963 INFO L272 TraceCheckUtils]: 41: Hoare triple {6686#(<= main_~c~0 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:33,963 INFO L290 TraceCheckUtils]: 42: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,964 INFO L290 TraceCheckUtils]: 43: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,964 INFO L290 TraceCheckUtils]: 44: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,968 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6560#true} {6686#(<= main_~c~0 1)} #91#return; {6686#(<= main_~c~0 1)} is VALID [2022-04-27 13:04:33,968 INFO L272 TraceCheckUtils]: 46: Hoare triple {6686#(<= main_~c~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:33,968 INFO L290 TraceCheckUtils]: 47: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,968 INFO L290 TraceCheckUtils]: 48: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,968 INFO L290 TraceCheckUtils]: 49: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,970 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6560#true} {6686#(<= main_~c~0 1)} #93#return; {6686#(<= main_~c~0 1)} is VALID [2022-04-27 13:04:33,970 INFO L272 TraceCheckUtils]: 51: Hoare triple {6686#(<= main_~c~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:33,970 INFO L290 TraceCheckUtils]: 52: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,970 INFO L290 TraceCheckUtils]: 53: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,970 INFO L290 TraceCheckUtils]: 54: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,973 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6560#true} {6686#(<= main_~c~0 1)} #95#return; {6686#(<= main_~c~0 1)} is VALID [2022-04-27 13:04:33,973 INFO L272 TraceCheckUtils]: 56: Hoare triple {6686#(<= main_~c~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)); {6560#true} is VALID [2022-04-27 13:04:33,973 INFO L290 TraceCheckUtils]: 57: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,973 INFO L290 TraceCheckUtils]: 58: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,973 INFO L290 TraceCheckUtils]: 59: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,974 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {6560#true} {6686#(<= main_~c~0 1)} #97#return; {6686#(<= main_~c~0 1)} is VALID [2022-04-27 13:04:33,974 INFO L290 TraceCheckUtils]: 61: Hoare triple {6686#(<= main_~c~0 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {6753#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-27 13:04:33,975 INFO L290 TraceCheckUtils]: 62: Hoare triple {6753#(<= (+ main_~c~0 main_~b~0) 1)} assume !false; {6753#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-27 13:04:33,975 INFO L272 TraceCheckUtils]: 63: Hoare triple {6753#(<= (+ main_~c~0 main_~b~0) 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:33,975 INFO L290 TraceCheckUtils]: 64: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,975 INFO L290 TraceCheckUtils]: 65: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,975 INFO L290 TraceCheckUtils]: 66: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,975 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6560#true} {6753#(<= (+ main_~c~0 main_~b~0) 1)} #91#return; {6753#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-27 13:04:33,976 INFO L272 TraceCheckUtils]: 68: Hoare triple {6753#(<= (+ main_~c~0 main_~b~0) 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:33,976 INFO L290 TraceCheckUtils]: 69: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,976 INFO L290 TraceCheckUtils]: 70: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,976 INFO L290 TraceCheckUtils]: 71: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,977 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {6560#true} {6753#(<= (+ main_~c~0 main_~b~0) 1)} #93#return; {6753#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-27 13:04:33,978 INFO L272 TraceCheckUtils]: 73: Hoare triple {6753#(<= (+ main_~c~0 main_~b~0) 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:33,978 INFO L290 TraceCheckUtils]: 74: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,978 INFO L290 TraceCheckUtils]: 75: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,978 INFO L290 TraceCheckUtils]: 76: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,978 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {6560#true} {6753#(<= (+ main_~c~0 main_~b~0) 1)} #95#return; {6753#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-27 13:04:33,978 INFO L272 TraceCheckUtils]: 78: Hoare triple {6753#(<= (+ main_~c~0 main_~b~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)); {6560#true} is VALID [2022-04-27 13:04:33,978 INFO L290 TraceCheckUtils]: 79: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,978 INFO L290 TraceCheckUtils]: 80: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,978 INFO L290 TraceCheckUtils]: 81: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,979 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {6560#true} {6753#(<= (+ main_~c~0 main_~b~0) 1)} #97#return; {6753#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-27 13:04:33,980 INFO L290 TraceCheckUtils]: 83: Hoare triple {6753#(<= (+ main_~c~0 main_~b~0) 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {6820#(<= (+ main_~c~0 (* main_~b~0 2)) 1)} is VALID [2022-04-27 13:04:33,980 INFO L290 TraceCheckUtils]: 84: Hoare triple {6820#(<= (+ main_~c~0 (* main_~b~0 2)) 1)} assume !false; {6820#(<= (+ main_~c~0 (* main_~b~0 2)) 1)} is VALID [2022-04-27 13:04:33,980 INFO L272 TraceCheckUtils]: 85: Hoare triple {6820#(<= (+ main_~c~0 (* main_~b~0 2)) 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:33,980 INFO L290 TraceCheckUtils]: 86: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,980 INFO L290 TraceCheckUtils]: 87: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,980 INFO L290 TraceCheckUtils]: 88: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,981 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {6560#true} {6820#(<= (+ main_~c~0 (* main_~b~0 2)) 1)} #91#return; {6820#(<= (+ main_~c~0 (* main_~b~0 2)) 1)} is VALID [2022-04-27 13:04:33,981 INFO L272 TraceCheckUtils]: 90: Hoare triple {6820#(<= (+ main_~c~0 (* main_~b~0 2)) 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:33,981 INFO L290 TraceCheckUtils]: 91: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,981 INFO L290 TraceCheckUtils]: 92: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,981 INFO L290 TraceCheckUtils]: 93: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,981 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {6560#true} {6820#(<= (+ main_~c~0 (* main_~b~0 2)) 1)} #93#return; {6820#(<= (+ main_~c~0 (* main_~b~0 2)) 1)} is VALID [2022-04-27 13:04:33,981 INFO L272 TraceCheckUtils]: 95: Hoare triple {6820#(<= (+ main_~c~0 (* main_~b~0 2)) 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:33,981 INFO L290 TraceCheckUtils]: 96: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,982 INFO L290 TraceCheckUtils]: 97: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,982 INFO L290 TraceCheckUtils]: 98: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,982 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {6560#true} {6820#(<= (+ main_~c~0 (* main_~b~0 2)) 1)} #95#return; {6820#(<= (+ main_~c~0 (* main_~b~0 2)) 1)} is VALID [2022-04-27 13:04:33,982 INFO L272 TraceCheckUtils]: 100: Hoare triple {6820#(<= (+ main_~c~0 (* main_~b~0 2)) 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)); {6560#true} is VALID [2022-04-27 13:04:33,982 INFO L290 TraceCheckUtils]: 101: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,982 INFO L290 TraceCheckUtils]: 102: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,982 INFO L290 TraceCheckUtils]: 103: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,983 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {6560#true} {6820#(<= (+ main_~c~0 (* main_~b~0 2)) 1)} #97#return; {6820#(<= (+ main_~c~0 (* main_~b~0 2)) 1)} is VALID [2022-04-27 13:04:33,983 INFO L290 TraceCheckUtils]: 105: Hoare triple {6820#(<= (+ main_~c~0 (* main_~b~0 2)) 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {6887#(and (<= (* main_~b~0 3) 1) (<= 0 main_~c~0))} is VALID [2022-04-27 13:04:33,984 INFO L290 TraceCheckUtils]: 106: Hoare triple {6887#(and (<= (* main_~b~0 3) 1) (<= 0 main_~c~0))} assume !false; {6887#(and (<= (* main_~b~0 3) 1) (<= 0 main_~c~0))} is VALID [2022-04-27 13:04:33,984 INFO L272 TraceCheckUtils]: 107: Hoare triple {6887#(and (<= (* main_~b~0 3) 1) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:33,984 INFO L290 TraceCheckUtils]: 108: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,984 INFO L290 TraceCheckUtils]: 109: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,984 INFO L290 TraceCheckUtils]: 110: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,984 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {6560#true} {6887#(and (<= (* main_~b~0 3) 1) (<= 0 main_~c~0))} #91#return; {6887#(and (<= (* main_~b~0 3) 1) (<= 0 main_~c~0))} is VALID [2022-04-27 13:04:33,984 INFO L272 TraceCheckUtils]: 112: Hoare triple {6887#(and (<= (* main_~b~0 3) 1) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:33,985 INFO L290 TraceCheckUtils]: 113: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,985 INFO L290 TraceCheckUtils]: 114: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,985 INFO L290 TraceCheckUtils]: 115: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,985 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {6560#true} {6887#(and (<= (* main_~b~0 3) 1) (<= 0 main_~c~0))} #93#return; {6887#(and (<= (* main_~b~0 3) 1) (<= 0 main_~c~0))} is VALID [2022-04-27 13:04:33,985 INFO L272 TraceCheckUtils]: 117: Hoare triple {6887#(and (<= (* main_~b~0 3) 1) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:33,985 INFO L290 TraceCheckUtils]: 118: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,985 INFO L290 TraceCheckUtils]: 119: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,985 INFO L290 TraceCheckUtils]: 120: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,986 INFO L284 TraceCheckUtils]: 121: Hoare quadruple {6560#true} {6887#(and (<= (* main_~b~0 3) 1) (<= 0 main_~c~0))} #95#return; {6887#(and (<= (* main_~b~0 3) 1) (<= 0 main_~c~0))} is VALID [2022-04-27 13:04:33,986 INFO L272 TraceCheckUtils]: 122: Hoare triple {6887#(and (<= (* main_~b~0 3) 1) (<= 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)); {6560#true} is VALID [2022-04-27 13:04:33,986 INFO L290 TraceCheckUtils]: 123: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:33,986 INFO L290 TraceCheckUtils]: 124: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:33,986 INFO L290 TraceCheckUtils]: 125: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:33,987 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {6560#true} {6887#(and (<= (* main_~b~0 3) 1) (<= 0 main_~c~0))} #97#return; {6887#(and (<= (* main_~b~0 3) 1) (<= 0 main_~c~0))} is VALID [2022-04-27 13:04:33,987 INFO L290 TraceCheckUtils]: 127: Hoare triple {6887#(and (<= (* main_~b~0 3) 1) (<= 0 main_~c~0))} assume !(~c~0 >= ~b~0); {6561#false} is VALID [2022-04-27 13:04:33,987 INFO L290 TraceCheckUtils]: 128: Hoare triple {6561#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; {6561#false} is VALID [2022-04-27 13:04:33,987 INFO L290 TraceCheckUtils]: 129: Hoare triple {6561#false} assume !false; {6561#false} is VALID [2022-04-27 13:04:33,987 INFO L290 TraceCheckUtils]: 130: Hoare triple {6561#false} assume !(0 != ~b~0); {6561#false} is VALID [2022-04-27 13:04:33,987 INFO L272 TraceCheckUtils]: 131: Hoare triple {6561#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {6561#false} is VALID [2022-04-27 13:04:33,987 INFO L290 TraceCheckUtils]: 132: Hoare triple {6561#false} ~cond := #in~cond; {6561#false} is VALID [2022-04-27 13:04:33,988 INFO L290 TraceCheckUtils]: 133: Hoare triple {6561#false} assume 0 == ~cond; {6561#false} is VALID [2022-04-27 13:04:33,988 INFO L290 TraceCheckUtils]: 134: Hoare triple {6561#false} assume !false; {6561#false} is VALID [2022-04-27 13:04:33,988 INFO L134 CoverageAnalysis]: Checked inductivity of 610 backedges. 34 proven. 51 refuted. 0 times theorem prover too weak. 525 trivial. 0 not checked. [2022-04-27 13:04:33,988 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:04:34,921 INFO L290 TraceCheckUtils]: 134: Hoare triple {6561#false} assume !false; {6561#false} is VALID [2022-04-27 13:04:34,921 INFO L290 TraceCheckUtils]: 133: Hoare triple {6561#false} assume 0 == ~cond; {6561#false} is VALID [2022-04-27 13:04:34,922 INFO L290 TraceCheckUtils]: 132: Hoare triple {6561#false} ~cond := #in~cond; {6561#false} is VALID [2022-04-27 13:04:34,922 INFO L272 TraceCheckUtils]: 131: Hoare triple {6561#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {6561#false} is VALID [2022-04-27 13:04:34,922 INFO L290 TraceCheckUtils]: 130: Hoare triple {6561#false} assume !(0 != ~b~0); {6561#false} is VALID [2022-04-27 13:04:34,922 INFO L290 TraceCheckUtils]: 129: Hoare triple {6561#false} assume !false; {6561#false} is VALID [2022-04-27 13:04:34,922 INFO L290 TraceCheckUtils]: 128: Hoare triple {6561#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; {6561#false} is VALID [2022-04-27 13:04:34,922 INFO L290 TraceCheckUtils]: 127: Hoare triple {6996#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {6561#false} is VALID [2022-04-27 13:04:34,923 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {6560#true} {6996#(<= main_~b~0 main_~c~0)} #97#return; {6996#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:04:34,923 INFO L290 TraceCheckUtils]: 125: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,923 INFO L290 TraceCheckUtils]: 124: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,923 INFO L290 TraceCheckUtils]: 123: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,923 INFO L272 TraceCheckUtils]: 122: Hoare triple {6996#(<= 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)); {6560#true} is VALID [2022-04-27 13:04:34,924 INFO L284 TraceCheckUtils]: 121: Hoare quadruple {6560#true} {6996#(<= main_~b~0 main_~c~0)} #95#return; {6996#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:04:34,924 INFO L290 TraceCheckUtils]: 120: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,924 INFO L290 TraceCheckUtils]: 119: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,924 INFO L290 TraceCheckUtils]: 118: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,924 INFO L272 TraceCheckUtils]: 117: Hoare triple {6996#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:34,924 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {6560#true} {6996#(<= main_~b~0 main_~c~0)} #93#return; {6996#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:04:34,924 INFO L290 TraceCheckUtils]: 115: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,925 INFO L290 TraceCheckUtils]: 114: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,925 INFO L290 TraceCheckUtils]: 113: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,925 INFO L272 TraceCheckUtils]: 112: Hoare triple {6996#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:34,925 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {6560#true} {6996#(<= main_~b~0 main_~c~0)} #91#return; {6996#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:04:34,925 INFO L290 TraceCheckUtils]: 110: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,925 INFO L290 TraceCheckUtils]: 109: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,925 INFO L290 TraceCheckUtils]: 108: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,925 INFO L272 TraceCheckUtils]: 107: Hoare triple {6996#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:34,926 INFO L290 TraceCheckUtils]: 106: Hoare triple {6996#(<= main_~b~0 main_~c~0)} assume !false; {6996#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:04:34,927 INFO L290 TraceCheckUtils]: 105: Hoare triple {7063#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {6996#(<= main_~b~0 main_~c~0)} is VALID [2022-04-27 13:04:34,927 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {6560#true} {7063#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #97#return; {7063#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:04:34,927 INFO L290 TraceCheckUtils]: 103: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,927 INFO L290 TraceCheckUtils]: 102: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,927 INFO L290 TraceCheckUtils]: 101: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,927 INFO L272 TraceCheckUtils]: 100: Hoare triple {7063#(or (<= (* main_~b~0 2) main_~c~0) (not (<= 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)); {6560#true} is VALID [2022-04-27 13:04:34,928 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {6560#true} {7063#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #95#return; {7063#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:04:34,928 INFO L290 TraceCheckUtils]: 98: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,928 INFO L290 TraceCheckUtils]: 97: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,928 INFO L290 TraceCheckUtils]: 96: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,928 INFO L272 TraceCheckUtils]: 95: Hoare triple {7063#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:34,929 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {6560#true} {7063#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #93#return; {7063#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:04:34,929 INFO L290 TraceCheckUtils]: 93: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,929 INFO L290 TraceCheckUtils]: 92: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,929 INFO L290 TraceCheckUtils]: 91: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,929 INFO L272 TraceCheckUtils]: 90: Hoare triple {7063#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:34,930 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {6560#true} {7063#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #91#return; {7063#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:04:34,930 INFO L290 TraceCheckUtils]: 88: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,930 INFO L290 TraceCheckUtils]: 87: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,930 INFO L290 TraceCheckUtils]: 86: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,930 INFO L272 TraceCheckUtils]: 85: Hoare triple {7063#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:34,930 INFO L290 TraceCheckUtils]: 84: Hoare triple {7063#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} assume !false; {7063#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:04:34,931 INFO L290 TraceCheckUtils]: 83: Hoare triple {7130#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {7063#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:04:34,932 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {6560#true} {7130#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #97#return; {7130#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-27 13:04:34,932 INFO L290 TraceCheckUtils]: 81: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,932 INFO L290 TraceCheckUtils]: 80: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,932 INFO L290 TraceCheckUtils]: 79: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,932 INFO L272 TraceCheckUtils]: 78: Hoare triple {7130#(or (< main_~c~0 (* main_~b~0 2)) (<= 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)); {6560#true} is VALID [2022-04-27 13:04:34,932 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {6560#true} {7130#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #95#return; {7130#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-27 13:04:34,933 INFO L290 TraceCheckUtils]: 76: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,933 INFO L290 TraceCheckUtils]: 75: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,933 INFO L290 TraceCheckUtils]: 74: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,933 INFO L272 TraceCheckUtils]: 73: Hoare triple {7130#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:34,933 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {6560#true} {7130#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #93#return; {7130#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-27 13:04:34,933 INFO L290 TraceCheckUtils]: 71: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,933 INFO L290 TraceCheckUtils]: 70: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,934 INFO L290 TraceCheckUtils]: 69: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,934 INFO L272 TraceCheckUtils]: 68: Hoare triple {7130#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:34,934 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6560#true} {7130#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #91#return; {7130#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-27 13:04:34,934 INFO L290 TraceCheckUtils]: 66: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,934 INFO L290 TraceCheckUtils]: 65: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,934 INFO L290 TraceCheckUtils]: 64: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,934 INFO L272 TraceCheckUtils]: 63: Hoare triple {7130#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:34,935 INFO L290 TraceCheckUtils]: 62: Hoare triple {7130#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} assume !false; {7130#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-27 13:04:34,935 INFO L290 TraceCheckUtils]: 61: Hoare triple {7197#(<= (div (+ (- 1) (* (- 1) main_~c~0)) (- 3)) 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {7130#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-27 13:04:34,936 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {6560#true} {7197#(<= (div (+ (- 1) (* (- 1) main_~c~0)) (- 3)) 1)} #97#return; {7197#(<= (div (+ (- 1) (* (- 1) main_~c~0)) (- 3)) 1)} is VALID [2022-04-27 13:04:34,936 INFO L290 TraceCheckUtils]: 59: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,936 INFO L290 TraceCheckUtils]: 58: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,936 INFO L290 TraceCheckUtils]: 57: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,936 INFO L272 TraceCheckUtils]: 56: Hoare triple {7197#(<= (div (+ (- 1) (* (- 1) main_~c~0)) (- 3)) 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)); {6560#true} is VALID [2022-04-27 13:04:34,937 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6560#true} {7197#(<= (div (+ (- 1) (* (- 1) main_~c~0)) (- 3)) 1)} #95#return; {7197#(<= (div (+ (- 1) (* (- 1) main_~c~0)) (- 3)) 1)} is VALID [2022-04-27 13:04:34,937 INFO L290 TraceCheckUtils]: 54: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,937 INFO L290 TraceCheckUtils]: 53: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,937 INFO L290 TraceCheckUtils]: 52: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,937 INFO L272 TraceCheckUtils]: 51: Hoare triple {7197#(<= (div (+ (- 1) (* (- 1) main_~c~0)) (- 3)) 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:34,938 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6560#true} {7197#(<= (div (+ (- 1) (* (- 1) main_~c~0)) (- 3)) 1)} #93#return; {7197#(<= (div (+ (- 1) (* (- 1) main_~c~0)) (- 3)) 1)} is VALID [2022-04-27 13:04:34,938 INFO L290 TraceCheckUtils]: 49: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,938 INFO L290 TraceCheckUtils]: 48: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,938 INFO L290 TraceCheckUtils]: 47: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,938 INFO L272 TraceCheckUtils]: 46: Hoare triple {7197#(<= (div (+ (- 1) (* (- 1) main_~c~0)) (- 3)) 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:34,938 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6560#true} {7197#(<= (div (+ (- 1) (* (- 1) main_~c~0)) (- 3)) 1)} #91#return; {7197#(<= (div (+ (- 1) (* (- 1) main_~c~0)) (- 3)) 1)} is VALID [2022-04-27 13:04:34,938 INFO L290 TraceCheckUtils]: 44: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,938 INFO L290 TraceCheckUtils]: 43: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,939 INFO L290 TraceCheckUtils]: 42: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,939 INFO L272 TraceCheckUtils]: 41: Hoare triple {7197#(<= (div (+ (- 1) (* (- 1) main_~c~0)) (- 3)) 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:34,939 INFO L290 TraceCheckUtils]: 40: Hoare triple {7197#(<= (div (+ (- 1) (* (- 1) main_~c~0)) (- 3)) 1)} assume !false; {7197#(<= (div (+ (- 1) (* (- 1) main_~c~0)) (- 3)) 1)} is VALID [2022-04-27 13:04:34,939 INFO L290 TraceCheckUtils]: 39: Hoare triple {7264#(<= (div (+ (* (- 1) main_~a~0) (- 4)) (- 3)) 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7197#(<= (div (+ (- 1) (* (- 1) main_~c~0)) (- 3)) 1)} is VALID [2022-04-27 13:04:34,940 INFO L290 TraceCheckUtils]: 38: Hoare triple {7264#(<= (div (+ (* (- 1) main_~a~0) (- 4)) (- 3)) 2)} assume !false; {7264#(<= (div (+ (* (- 1) main_~a~0) (- 4)) (- 3)) 2)} is VALID [2022-04-27 13:04:34,940 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6560#true} {7264#(<= (div (+ (* (- 1) main_~a~0) (- 4)) (- 3)) 2)} #89#return; {7264#(<= (div (+ (* (- 1) main_~a~0) (- 4)) (- 3)) 2)} is VALID [2022-04-27 13:04:34,940 INFO L290 TraceCheckUtils]: 36: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,940 INFO L290 TraceCheckUtils]: 35: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,940 INFO L290 TraceCheckUtils]: 34: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,940 INFO L272 TraceCheckUtils]: 33: Hoare triple {7264#(<= (div (+ (* (- 1) main_~a~0) (- 4)) (- 3)) 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:34,941 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6560#true} {7264#(<= (div (+ (* (- 1) main_~a~0) (- 4)) (- 3)) 2)} #87#return; {7264#(<= (div (+ (* (- 1) main_~a~0) (- 4)) (- 3)) 2)} is VALID [2022-04-27 13:04:34,941 INFO L290 TraceCheckUtils]: 31: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,941 INFO L290 TraceCheckUtils]: 30: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,941 INFO L290 TraceCheckUtils]: 29: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,941 INFO L272 TraceCheckUtils]: 28: Hoare triple {7264#(<= (div (+ (* (- 1) main_~a~0) (- 4)) (- 3)) 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:34,942 INFO L290 TraceCheckUtils]: 27: Hoare triple {7301#(<= (div (+ (- 7) (* (- 1) main_~x~0)) (- 3)) 3)} ~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; {7264#(<= (div (+ (* (- 1) main_~a~0) (- 4)) (- 3)) 2)} is VALID [2022-04-27 13:04:34,942 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6560#true} {7301#(<= (div (+ (- 7) (* (- 1) main_~x~0)) (- 3)) 3)} #85#return; {7301#(<= (div (+ (- 7) (* (- 1) main_~x~0)) (- 3)) 3)} is VALID [2022-04-27 13:04:34,942 INFO L290 TraceCheckUtils]: 25: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,942 INFO L290 TraceCheckUtils]: 24: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,942 INFO L290 TraceCheckUtils]: 23: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,942 INFO L272 TraceCheckUtils]: 22: Hoare triple {7301#(<= (div (+ (- 7) (* (- 1) main_~x~0)) (- 3)) 3)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:34,943 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6560#true} {7301#(<= (div (+ (- 7) (* (- 1) main_~x~0)) (- 3)) 3)} #83#return; {7301#(<= (div (+ (- 7) (* (- 1) main_~x~0)) (- 3)) 3)} is VALID [2022-04-27 13:04:34,943 INFO L290 TraceCheckUtils]: 20: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,943 INFO L290 TraceCheckUtils]: 19: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,943 INFO L290 TraceCheckUtils]: 18: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,943 INFO L272 TraceCheckUtils]: 17: Hoare triple {7301#(<= (div (+ (- 7) (* (- 1) main_~x~0)) (- 3)) 3)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:34,943 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6560#true} {7301#(<= (div (+ (- 7) (* (- 1) main_~x~0)) (- 3)) 3)} #81#return; {7301#(<= (div (+ (- 7) (* (- 1) main_~x~0)) (- 3)) 3)} is VALID [2022-04-27 13:04:34,944 INFO L290 TraceCheckUtils]: 15: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,944 INFO L290 TraceCheckUtils]: 14: Hoare triple {6560#true} assume !(0 == ~cond); {6560#true} is VALID [2022-04-27 13:04:34,944 INFO L290 TraceCheckUtils]: 13: Hoare triple {6560#true} ~cond := #in~cond; {6560#true} is VALID [2022-04-27 13:04:34,944 INFO L272 TraceCheckUtils]: 12: Hoare triple {7301#(<= (div (+ (- 7) (* (- 1) main_~x~0)) (- 3)) 3)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:34,944 INFO L290 TraceCheckUtils]: 11: Hoare triple {7301#(<= (div (+ (- 7) (* (- 1) main_~x~0)) (- 3)) 3)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7301#(<= (div (+ (- 7) (* (- 1) main_~x~0)) (- 3)) 3)} is VALID [2022-04-27 13:04:34,945 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6590#(not (= |assume_abort_if_not_#in~cond| 0))} {6560#true} #79#return; {7301#(<= (div (+ (- 7) (* (- 1) main_~x~0)) (- 3)) 3)} is VALID [2022-04-27 13:04:34,945 INFO L290 TraceCheckUtils]: 9: Hoare triple {6590#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6590#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:04:34,945 INFO L290 TraceCheckUtils]: 8: Hoare triple {7362#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {6590#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:04:34,946 INFO L290 TraceCheckUtils]: 7: Hoare triple {6560#true} ~cond := #in~cond; {7362#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:04:34,946 INFO L272 TraceCheckUtils]: 6: Hoare triple {6560#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {6560#true} is VALID [2022-04-27 13:04:34,946 INFO L290 TraceCheckUtils]: 5: Hoare triple {6560#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; {6560#true} is VALID [2022-04-27 13:04:34,946 INFO L272 TraceCheckUtils]: 4: Hoare triple {6560#true} call #t~ret6 := main(); {6560#true} is VALID [2022-04-27 13:04:34,946 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6560#true} {6560#true} #103#return; {6560#true} is VALID [2022-04-27 13:04:34,946 INFO L290 TraceCheckUtils]: 2: Hoare triple {6560#true} assume true; {6560#true} is VALID [2022-04-27 13:04:34,946 INFO L290 TraceCheckUtils]: 1: Hoare triple {6560#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); {6560#true} is VALID [2022-04-27 13:04:34,946 INFO L272 TraceCheckUtils]: 0: Hoare triple {6560#true} call ULTIMATE.init(); {6560#true} is VALID [2022-04-27 13:04:34,946 INFO L134 CoverageAnalysis]: Checked inductivity of 610 backedges. 34 proven. 51 refuted. 0 times theorem prover too weak. 525 trivial. 0 not checked. [2022-04-27 13:04:34,947 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:04:34,947 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1111732559] [2022-04-27 13:04:34,947 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:04:34,947 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [840012223] [2022-04-27 13:04:34,947 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [840012223] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:04:34,947 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:04:34,947 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 17 [2022-04-27 13:04:34,947 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [42809977] [2022-04-27 13:04:34,947 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:04:34,948 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.588235294117647) internal successors, (44), 17 states have internal predecessors, (44), 14 states have call successors, (46), 2 states have call predecessors, (46), 2 states have return successors, (45), 13 states have call predecessors, (45), 13 states have call successors, (45) Word has length 135 [2022-04-27 13:04:34,948 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:04:34,948 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 2.588235294117647) internal successors, (44), 17 states have internal predecessors, (44), 14 states have call successors, (46), 2 states have call predecessors, (46), 2 states have return successors, (45), 13 states have call predecessors, (45), 13 states have call successors, (45) [2022-04-27 13:04:35,055 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:04:35,055 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-27 13:04:35,055 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:04:35,055 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-27 13:04:35,055 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=228, Unknown=0, NotChecked=0, Total=272 [2022-04-27 13:04:35,056 INFO L87 Difference]: Start difference. First operand 72 states and 88 transitions. Second operand has 17 states, 17 states have (on average 2.588235294117647) internal successors, (44), 17 states have internal predecessors, (44), 14 states have call successors, (46), 2 states have call predecessors, (46), 2 states have return successors, (45), 13 states have call predecessors, (45), 13 states have call successors, (45) [2022-04-27 13:04:36,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:04:36,130 INFO L93 Difference]: Finished difference Result 72 states and 88 transitions. [2022-04-27 13:04:36,130 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:04:36,130 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.588235294117647) internal successors, (44), 17 states have internal predecessors, (44), 14 states have call successors, (46), 2 states have call predecessors, (46), 2 states have return successors, (45), 13 states have call predecessors, (45), 13 states have call successors, (45) Word has length 135 [2022-04-27 13:04:36,131 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:04:36,131 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.588235294117647) internal successors, (44), 17 states have internal predecessors, (44), 14 states have call successors, (46), 2 states have call predecessors, (46), 2 states have return successors, (45), 13 states have call predecessors, (45), 13 states have call successors, (45) [2022-04-27 13:04:36,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 76 transitions. [2022-04-27 13:04:36,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.588235294117647) internal successors, (44), 17 states have internal predecessors, (44), 14 states have call successors, (46), 2 states have call predecessors, (46), 2 states have return successors, (45), 13 states have call predecessors, (45), 13 states have call successors, (45) [2022-04-27 13:04:36,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 76 transitions. [2022-04-27 13:04:36,135 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 76 transitions. [2022-04-27 13:04:36,199 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:04:36,199 INFO L225 Difference]: With dead ends: 72 [2022-04-27 13:04:36,199 INFO L226 Difference]: Without dead ends: 0 [2022-04-27 13:04:36,201 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 275 GetRequests, 254 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=100, Invalid=406, Unknown=0, NotChecked=0, Total=506 [2022-04-27 13:04:36,202 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 17 mSDsluCounter, 199 mSDsCounter, 0 mSdLazyCounter, 295 mSolverCounterSat, 59 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 249 SdHoareTripleChecker+Invalid, 354 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 59 IncrementalHoareTripleChecker+Valid, 295 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:04:36,202 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 249 Invalid, 354 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [59 Valid, 295 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 13:04:36,202 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-27 13:04:36,202 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-27 13:04:36,202 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:04:36,202 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 13:04:36,202 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 13:04:36,202 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 13:04:36,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:04:36,203 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 13:04:36,203 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:04:36,203 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:04:36,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:04:36,203 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-27 13:04:36,203 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-27 13:04:36,203 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:04:36,203 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 13:04:36,203 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:04:36,203 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:04:36,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:04:36,203 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:04:36,203 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:04:36,203 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 13:04:36,203 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-27 13:04:36,203 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 135 [2022-04-27 13:04:36,203 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:04:36,204 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-27 13:04:36,204 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 2.588235294117647) internal successors, (44), 17 states have internal predecessors, (44), 14 states have call successors, (46), 2 states have call predecessors, (46), 2 states have return successors, (45), 13 states have call predecessors, (45), 13 states have call successors, (45) [2022-04-27 13:04:36,204 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:04:36,204 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:04:36,205 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 13:04:36,224 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-27 13:04:36,419 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-27 13:04:36,421 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-27 13:04:38,107 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 4) no Hoare annotation was computed. [2022-04-27 13:04:38,107 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 4) no Hoare annotation was computed. [2022-04-27 13:04:38,107 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 4) no Hoare annotation was computed. [2022-04-27 13:04:38,107 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 7 9) the Hoare annotation is: true [2022-04-27 13:04:38,107 INFO L899 garLoopResultBuilder]: For program point L8(line 8) no Hoare annotation was computed. [2022-04-27 13:04:38,107 INFO L899 garLoopResultBuilder]: For program point L8-2(lines 7 9) no Hoare annotation was computed. [2022-04-27 13:04:38,107 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 7 9) no Hoare annotation was computed. [2022-04-27 13:04:38,107 INFO L895 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-27 13:04:38,107 INFO L899 garLoopResultBuilder]: For program point mainEXIT(lines 18 74) no Hoare annotation was computed. [2022-04-27 13:04:38,108 INFO L895 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse0 (= main_~s~0 1)) (.cse1 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse2 (<= 1 main_~a~0)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and (<= (+ main_~c~0 main_~b~0) 1) .cse0 .cse1 (<= main_~x~0 1) .cse2 (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8) (and (= main_~k~0 0) .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8))) [2022-04-27 13:04:38,108 INFO L895 garLoopResultBuilder]: At program point L48(line 48) the Hoare annotation is: (let ((.cse0 (= main_~s~0 1)) (.cse1 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse2 (<= 1 main_~a~0)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and (<= (+ main_~c~0 main_~b~0) 1) .cse0 .cse1 (<= main_~x~0 1) .cse2 (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8) (and (= main_~k~0 0) .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8))) [2022-04-27 13:04:38,108 INFO L895 garLoopResultBuilder]: At program point L48-1(line 48) the Hoare annotation is: (let ((.cse0 (= main_~s~0 1)) (.cse1 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse2 (<= 1 main_~a~0)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and (<= (+ main_~c~0 main_~b~0) 1) .cse0 .cse1 (<= main_~x~0 1) .cse2 (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8) (and (= main_~k~0 0) .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8))) [2022-04-27 13:04:38,108 INFO L899 garLoopResultBuilder]: For program point mainFINAL(lines 18 74) no Hoare annotation was computed. [2022-04-27 13:04:38,108 INFO L899 garLoopResultBuilder]: For program point L42(lines 42 43) no Hoare annotation was computed. [2022-04-27 13:04:38,108 INFO L895 garLoopResultBuilder]: At program point L71(line 71) the Hoare annotation is: (and (= main_~b~0 0) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (< 0 main_~a~0) (= main_~c~0 0) (<= 1 main_~y~0)) [2022-04-27 13:04:38,108 INFO L895 garLoopResultBuilder]: At program point L38(line 38) the Hoare annotation is: (and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 1) (<= 1 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~c~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)) [2022-04-27 13:04:38,108 INFO L895 garLoopResultBuilder]: At program point L38-1(line 38) the Hoare annotation is: (and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 1) (<= 1 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~c~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)) [2022-04-27 13:04:38,108 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 18 74) the Hoare annotation is: true [2022-04-27 13:04:38,108 INFO L899 garLoopResultBuilder]: For program point L26(line 26) no Hoare annotation was computed. [2022-04-27 13:04:38,108 INFO L895 garLoopResultBuilder]: At program point L24(line 24) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1)) [2022-04-27 13:04:38,109 INFO L895 garLoopResultBuilder]: At program point L24-1(line 24) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-27 13:04:38,109 INFO L902 garLoopResultBuilder]: At program point L22(line 22) the Hoare annotation is: true [2022-04-27 13:04:38,109 INFO L899 garLoopResultBuilder]: For program point L22-1(line 22) no Hoare annotation was computed. [2022-04-27 13:04:38,109 INFO L899 garLoopResultBuilder]: For program point L51(lines 47 56) no Hoare annotation was computed. [2022-04-27 13:04:38,109 INFO L895 garLoopResultBuilder]: At program point L49(line 49) the Hoare annotation is: (let ((.cse0 (= main_~s~0 1)) (.cse1 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse2 (<= 1 main_~a~0)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and (<= (+ main_~c~0 main_~b~0) 1) .cse0 .cse1 (<= main_~x~0 1) .cse2 (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8) (and (= main_~k~0 0) .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8))) [2022-04-27 13:04:38,109 INFO L895 garLoopResultBuilder]: At program point L47-2(lines 47 56) the Hoare annotation is: (let ((.cse0 (= main_~s~0 1)) (.cse1 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse2 (<= 1 main_~a~0)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and (<= (+ main_~c~0 main_~b~0) 1) .cse0 .cse1 (<= main_~x~0 1) .cse2 (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8) (and (= main_~k~0 0) .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8))) [2022-04-27 13:04:38,109 INFO L899 garLoopResultBuilder]: For program point L47-3(lines 47 56) no Hoare annotation was computed. [2022-04-27 13:04:38,109 INFO L895 garLoopResultBuilder]: At program point L41-1(lines 39 68) the Hoare annotation is: (let ((.cse0 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse1 (<= main_~x~0 1)) (.cse2 (= main_~c~0 0)) (.cse3 (<= 1 main_~y~0))) (or (and (= main_~s~0 1) .cse0 .cse1 (<= 1 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) .cse2 .cse3 (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)) (and (= main_~b~0 0) (= main_~p~0 0) .cse0 .cse1 (<= main_~a~0 main_~x~0) (< 0 main_~a~0) .cse2 .cse3 (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)))) [2022-04-27 13:04:38,109 INFO L899 garLoopResultBuilder]: For program point L72(line 72) no Hoare annotation was computed. [2022-04-27 13:04:38,110 INFO L895 garLoopResultBuilder]: At program point L41-2(lines 41 68) the Hoare annotation is: (and (= main_~b~0 0) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (< 0 main_~a~0) (= main_~c~0 0) (<= 1 main_~y~0) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)) [2022-04-27 13:04:38,110 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-27 13:04:38,110 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-27 13:04:38,110 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-27 13:04:38,110 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-27 13:04:38,110 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-27 13:04:38,110 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-27 13:04:38,110 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-27 13:04:38,110 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 10 16) the Hoare annotation is: true [2022-04-27 13:04:38,110 INFO L899 garLoopResultBuilder]: For program point L12(lines 12 13) no Hoare annotation was computed. [2022-04-27 13:04:38,111 INFO L899 garLoopResultBuilder]: For program point L11(lines 11 14) no Hoare annotation was computed. [2022-04-27 13:04:38,111 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 10 16) no Hoare annotation was computed. [2022-04-27 13:04:38,111 INFO L899 garLoopResultBuilder]: For program point L11-2(lines 10 16) no Hoare annotation was computed. [2022-04-27 13:04:38,111 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 13) no Hoare annotation was computed. [2022-04-27 13:04:38,114 INFO L356 BasicCegarLoop]: Path program histogram: [2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:04:38,115 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 13:04:38,117 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 13:04:38,117 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 13:04:38,118 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2022-04-27 13:04:38,118 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 13:04:38,118 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-27 13:04:38,118 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 13:04:38,118 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 13:04:38,118 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2022-04-27 13:04:38,118 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2022-04-27 13:04:38,118 WARN L170 areAnnotationChecker]: L22-1 has no Hoare annotation [2022-04-27 13:04:38,118 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 13:04:38,118 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 13:04:38,118 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 13:04:38,118 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 13:04:38,118 WARN L170 areAnnotationChecker]: L8-2 has no Hoare annotation [2022-04-27 13:04:38,119 WARN L170 areAnnotationChecker]: L22-1 has no Hoare annotation [2022-04-27 13:04:38,119 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:04:38,119 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:04:38,119 WARN L170 areAnnotationChecker]: L11-2 has no Hoare annotation [2022-04-27 13:04:38,119 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:04:38,119 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:04:38,119 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:04:38,119 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:04:38,119 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:04:38,119 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:04:38,119 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:04:38,119 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:04:38,119 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:04:38,119 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:04:38,119 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:04:38,119 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:04:38,119 WARN L170 areAnnotationChecker]: L26 has no Hoare annotation [2022-04-27 13:04:38,119 WARN L170 areAnnotationChecker]: L26 has no Hoare annotation [2022-04-27 13:04:38,122 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-04-27 13:04:38,122 WARN L170 areAnnotationChecker]: L51 has no Hoare annotation [2022-04-27 13:04:38,122 WARN L170 areAnnotationChecker]: L51 has no Hoare annotation [2022-04-27 13:04:38,122 WARN L170 areAnnotationChecker]: L51 has no Hoare annotation [2022-04-27 13:04:38,122 WARN L170 areAnnotationChecker]: L72 has no Hoare annotation [2022-04-27 13:04:38,122 WARN L170 areAnnotationChecker]: L72 has no Hoare annotation [2022-04-27 13:04:38,122 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-04-27 13:04:38,122 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-04-27 13:04:38,123 WARN L170 areAnnotationChecker]: L47-3 has no Hoare annotation [2022-04-27 13:04:38,123 WARN L170 areAnnotationChecker]: L47-3 has no Hoare annotation [2022-04-27 13:04:38,123 WARN L170 areAnnotationChecker]: L47-3 has no Hoare annotation [2022-04-27 13:04:38,125 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 13:04:38,125 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 13:04:38,125 INFO L163 areAnnotationChecker]: CFG has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-27 13:04:38,133 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 01:04:38 BoogieIcfgContainer [2022-04-27 13:04:38,133 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 13:04:38,134 INFO L158 Benchmark]: Toolchain (without parser) took 165299.46ms. Allocated memory was 177.2MB in the beginning and 240.1MB in the end (delta: 62.9MB). Free memory was 119.8MB in the beginning and 113.4MB in the end (delta: 6.4MB). Peak memory consumption was 116.4MB. Max. memory is 8.0GB. [2022-04-27 13:04:38,134 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 177.2MB. Free memory is still 136.0MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 13:04:38,134 INFO L158 Benchmark]: CACSL2BoogieTranslator took 235.19ms. Allocated memory was 177.2MB in the beginning and 240.1MB in the end (delta: 62.9MB). Free memory was 119.6MB in the beginning and 212.3MB in the end (delta: -92.6MB). Peak memory consumption was 18.1MB. Max. memory is 8.0GB. [2022-04-27 13:04:38,134 INFO L158 Benchmark]: Boogie Preprocessor took 31.77ms. Allocated memory is still 240.1MB. Free memory was 212.3MB in the beginning and 210.7MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-27 13:04:38,134 INFO L158 Benchmark]: RCFGBuilder took 351.58ms. Allocated memory is still 240.1MB. Free memory was 210.7MB in the beginning and 196.5MB in the end (delta: 14.2MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. [2022-04-27 13:04:38,134 INFO L158 Benchmark]: TraceAbstraction took 164675.43ms. Allocated memory is still 240.1MB. Free memory was 196.0MB in the beginning and 113.4MB in the end (delta: 82.7MB). Peak memory consumption was 129.3MB. Max. memory is 8.0GB. [2022-04-27 13:04:38,135 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.09ms. Allocated memory is still 177.2MB. Free memory is still 136.0MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 235.19ms. Allocated memory was 177.2MB in the beginning and 240.1MB in the end (delta: 62.9MB). Free memory was 119.6MB in the beginning and 212.3MB in the end (delta: -92.6MB). Peak memory consumption was 18.1MB. Max. memory is 8.0GB. * Boogie Preprocessor took 31.77ms. Allocated memory is still 240.1MB. Free memory was 212.3MB in the beginning and 210.7MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 351.58ms. Allocated memory is still 240.1MB. Free memory was 210.7MB in the beginning and 196.5MB in the end (delta: 14.2MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. * TraceAbstraction took 164675.43ms. Allocated memory is still 240.1MB. Free memory was 196.0MB in the beginning and 113.4MB in the end (delta: 82.7MB). Peak memory consumption was 129.3MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 13]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 43 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 164.6s, OverallIterations: 11, TraceHistogramMax: 17, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 10.8s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 1.7s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 333 SdHoareTripleChecker+Valid, 3.5s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 278 mSDsluCounter, 1989 SdHoareTripleChecker+Invalid, 3.5s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1551 mSDsCounter, 346 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2343 IncrementalHoareTripleChecker+Invalid, 2689 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 346 mSolverCounterUnsat, 438 mSDtfsCounter, 2343 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1351 GetRequests, 1181 SyntacticMatches, 8 SemanticMatches, 162 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 436 ImplicationChecksByTransitivity, 1.8s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=89occurred in iteration=7, InterpolantAutomatonStates: 110, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.8s AutomataMinimizationTime, 11 MinimizatonAttempts, 27 StatesRemovedByMinimization, 6 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 20 LocationsWithAnnotation, 76 PreInvPairs, 105 NumberOfFragments, 788 HoareAnnotationTreeSize, 76 FomulaSimplifications, 328 FormulaSimplificationTreeSizeReduction, 0.3s HoareSimplificationTime, 20 FomulaSimplificationsInter, 2923 FormulaSimplificationTreeSizeReductionInter, 1.3s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 147.1s InterpolantComputationTime, 763 NumberOfCodeBlocks, 763 NumberOfCodeBlocksAsserted, 12 NumberOfCheckSat, 1300 ConstructedInterpolants, 0 QuantifiedInterpolants, 4427 SizeOfPredicates, 54 NumberOfNonLiveVariables, 1922 ConjunctsInSsa, 195 ConjunctsInUnsatCore, 18 InterpolantComputations, 2 PerfectInterpolantSequences, 2678/2998 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 47]: Loop Invariant Derived loop invariant: ((((((((((((c + b <= 1 && s == 1) && a == y * r + p * x) && x <= 1) && 1 <= a) && 0 <= c) && b == y) && k == 1) && yy == y * y) && q == 0) && 1 <= y) && a == x) && p == 1) || ((((((((((((k == 0 && s == 1) && a == y * r + p * x) && 1 <= a) && b == y) && yy == y * y) && q == 0) && 1 <= y) && a == x) && c <= 1) && c == x) && y <= 1) && p == 1) - InvariantResult [Line: 39]: Loop Invariant Derived loop invariant: (((((((((((s == 1 && a == y * r + p * x) && x <= 1) && 1 <= a) && b == y) && yy == y * y) && q == 0) && c == 0) && 1 <= y) && a == x) && y <= 1) && p == 1) || ((((((((b == 0 && p == 0) && a == y * r + p * x) && x <= 1) && a <= x) && 0 < a) && c == 0) && 1 <= y) && q * x + y * s == 0) RESULT: Ultimate proved your program to be correct! [2022-04-27 13:04:38,165 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request...