/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/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:08:44,057 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:08:44,059 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:08:44,097 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:08:44,097 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:08:44,098 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:08:44,099 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:08:44,101 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:08:44,102 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:08:44,103 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:08:44,103 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:08:44,104 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:08:44,105 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:08:44,105 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:08:44,106 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:08:44,107 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:08:44,108 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:08:44,109 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:08:44,110 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:08:44,111 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:08:44,113 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:08:44,113 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:08:44,114 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:08:44,115 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:08:44,116 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:08:44,119 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:08:44,119 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:08:44,120 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:08:44,120 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:08:44,121 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:08:44,122 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:08:44,122 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:08:44,123 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:08:44,123 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:08:44,124 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:08:44,125 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:08:44,125 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:08:44,125 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:08:44,126 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:08:44,126 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:08:44,127 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:08:44,128 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:08:44,129 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:08:44,148 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:08:44,149 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:08:44,150 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:08:44,150 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:08:44,150 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:08:44,150 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:08:44,151 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:08:44,151 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:08:44,151 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:08:44,151 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:08:44,151 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:08:44,151 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:08:44,152 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:08:44,152 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:08:44,152 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:08:44,152 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:08:44,152 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:08:44,152 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:08:44,152 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:08:44,153 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:08:44,153 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:08:44,153 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:08:44,153 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 12:08:44,504 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:08:44,542 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:08:44,545 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:08:44,545 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:08:44,548 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:08:44,549 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound10.c [2022-04-28 12:08:44,650 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/eff3bd338/879a8e743d9f421aaae8049773bb3e6a/FLAGeb08d3772 [2022-04-28 12:08:45,340 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:08:45,342 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound10.c [2022-04-28 12:08:45,369 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/eff3bd338/879a8e743d9f421aaae8049773bb3e6a/FLAGeb08d3772 [2022-04-28 12:08:45,396 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/eff3bd338/879a8e743d9f421aaae8049773bb3e6a [2022-04-28 12:08:45,399 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:08:45,400 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:08:45,401 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:08:45,401 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:08:45,404 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:08:45,405 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:08:45" (1/1) ... [2022-04-28 12:08:45,406 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2bd45781 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:08:45, skipping insertion in model container [2022-04-28 12:08:45,406 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:08:45" (1/1) ... [2022-04-28 12:08:45,414 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:08:45,453 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:08:45,706 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/egcd-ll_valuebound10.c[489,502] [2022-04-28 12:08:45,786 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:08:45,793 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:08:45,811 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/egcd-ll_valuebound10.c[489,502] [2022-04-28 12:08:45,835 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:08:45,853 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:08:45,853 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:08:45 WrapperNode [2022-04-28 12:08:45,854 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:08:45,855 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:08:45,855 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:08:45,855 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:08:45,873 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:08:45" (1/1) ... [2022-04-28 12:08:45,874 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:08:45" (1/1) ... [2022-04-28 12:08:45,881 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:08:45" (1/1) ... [2022-04-28 12:08:45,881 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:08:45" (1/1) ... [2022-04-28 12:08:45,906 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:08:45" (1/1) ... [2022-04-28 12:08:45,910 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:08:45" (1/1) ... [2022-04-28 12:08:45,921 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:08:45" (1/1) ... [2022-04-28 12:08:45,928 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:08:45,929 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:08:45,929 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:08:45,929 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:08:45,930 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:08:45" (1/1) ... [2022-04-28 12:08:45,983 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:08:46,003 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:08:46,018 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 12:08:46,059 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 12:08:46,091 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:08:46,091 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:08:46,092 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:08:46,095 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:08:46,102 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:08:46,103 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:08:46,103 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:08:46,103 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:08:46,103 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:08:46,104 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:08:46,104 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 12:08:46,104 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:08:46,104 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:08:46,104 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:08:46,104 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:08:46,105 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:08:46,105 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:08:46,105 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:08:46,105 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:08:46,105 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:08:46,178 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:08:46,180 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:08:46,439 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:08:46,445 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:08:46,446 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 12:08:46,447 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:08:46 BoogieIcfgContainer [2022-04-28 12:08:46,447 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:08:46,449 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:08:46,449 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:08:46,466 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:08:46,467 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:08:45" (1/3) ... [2022-04-28 12:08:46,467 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@488d81bb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:08:46, skipping insertion in model container [2022-04-28 12:08:46,467 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:08:45" (2/3) ... [2022-04-28 12:08:46,468 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@488d81bb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:08:46, skipping insertion in model container [2022-04-28 12:08:46,468 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:08:46" (3/3) ... [2022-04-28 12:08:46,469 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_valuebound10.c [2022-04-28 12:08:46,482 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:08:46,482 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:08:46,523 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:08:46,541 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, 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@34f511c8, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@27e5f184 [2022-04-28 12:08:46,541 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:08:46,565 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:08:46,572 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 12:08:46,572 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:08:46,573 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:08:46,573 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:08:46,578 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:08:46,578 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 1 times [2022-04-28 12:08:46,616 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:08:46,617 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1900599844] [2022-04-28 12:08:46,630 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:08:46,644 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 2 times [2022-04-28 12:08:46,648 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:08:46,649 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1978614681] [2022-04-28 12:08:46,649 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:08:46,650 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:08:46,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:08:46,988 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:08:46,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:08:47,022 INFO L290 TraceCheckUtils]: 0: Hoare triple {61#(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(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-28 12:08:47,023 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 12:08:47,024 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-28 12:08:47,025 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:08:47,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:08:47,059 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:08:47,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:08:47,060 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:08:47,060 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-28 12:08:47,061 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 12:08:47,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:08:47,103 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:08:47,105 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:08:47,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:08:47,109 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-28 12:08:47,109 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:08:47,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:08:47,131 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:08:47,131 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:08:47,132 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:08:47,132 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-28 12:08:47,132 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 12:08:47,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:08:47,157 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:08:47,158 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:08:47,158 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:08:47,158 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-28 12:08:47,169 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:08:47,169 INFO L290 TraceCheckUtils]: 1: Hoare triple {61#(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(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-28 12:08:47,170 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 12:08:47,171 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-28 12:08:47,171 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-28 12:08:47,171 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {40#true} is VALID [2022-04-28 12:08:47,171 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {40#true} is VALID [2022-04-28 12:08:47,172 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:08:47,173 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:08:47,173 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:08:47,173 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-28 12:08:47,174 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {41#false} is VALID [2022-04-28 12:08:47,174 INFO L272 TraceCheckUtils]: 12: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {40#true} is VALID [2022-04-28 12:08:47,174 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:08:47,175 INFO L290 TraceCheckUtils]: 14: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:08:47,175 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:08:47,175 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-28 12:08:47,176 INFO L272 TraceCheckUtils]: 17: Hoare triple {41#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-28 12:08:47,177 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:08:47,178 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:08:47,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:08:47,180 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-28 12:08:47,181 INFO L272 TraceCheckUtils]: 22: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-28 12:08:47,181 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:08:47,196 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:08:47,197 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:08:47,197 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-28 12:08:47,198 INFO L290 TraceCheckUtils]: 27: Hoare triple {41#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {41#false} is VALID [2022-04-28 12:08:47,202 INFO L290 TraceCheckUtils]: 28: Hoare triple {41#false} assume false; {41#false} is VALID [2022-04-28 12:08:47,203 INFO L272 TraceCheckUtils]: 29: Hoare triple {41#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {41#false} is VALID [2022-04-28 12:08:47,203 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-28 12:08:47,205 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-28 12:08:47,205 INFO L290 TraceCheckUtils]: 32: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-28 12:08:47,206 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:08:47,206 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:08:47,207 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1978614681] [2022-04-28 12:08:47,207 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1978614681] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:08:47,208 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:08:47,208 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:08:47,214 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:08:47,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1900599844] [2022-04-28 12:08:47,215 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1900599844] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:08:47,215 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:08:47,215 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:08:47,216 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [468263915] [2022-04-28 12:08:47,216 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:08:47,235 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 12:08:47,237 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:08:47,241 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:08:47,290 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:08:47,290 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 12:08:47,291 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:08:47,338 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 12:08:47,340 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:08:47,362 INFO L87 Difference]: Start difference. First operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:08:47,785 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:47,785 INFO L93 Difference]: Finished difference Result 67 states and 105 transitions. [2022-04-28 12:08:47,785 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 12:08:47,786 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 12:08:47,786 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:08:47,789 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:08:47,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-28 12:08:47,810 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:08:47,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-28 12:08:47,825 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 105 transitions. [2022-04-28 12:08:48,124 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:08:48,138 INFO L225 Difference]: With dead ends: 67 [2022-04-28 12:08:48,138 INFO L226 Difference]: Without dead ends: 32 [2022-04-28 12:08:48,142 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:08:48,145 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:08:48,147 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 39 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:08:48,167 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-28 12:08:48,201 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-28 12:08:48,201 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:08:48,202 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:08:48,203 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:08:48,203 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:08:48,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:48,231 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-28 12:08:48,231 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 12:08:48,232 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:08:48,232 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:08:48,233 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-28 12:08:48,233 INFO L87 Difference]: Start difference. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-28 12:08:48,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:48,237 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-28 12:08:48,237 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 12:08:48,238 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:08:48,238 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:08:48,238 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:08:48,238 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:08:48,239 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:08:48,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-28 12:08:48,242 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 33 [2022-04-28 12:08:48,243 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:08:48,243 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-28 12:08:48,257 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:08:48,257 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-28 12:08:48,336 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:08:48,336 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 12:08:48,339 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 12:08:48,339 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:08:48,339 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:08:48,340 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 12:08:48,340 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:08:48,341 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:08:48,341 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 1 times [2022-04-28 12:08:48,341 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:08:48,342 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [283493714] [2022-04-28 12:08:48,345 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:08:48,346 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 2 times [2022-04-28 12:08:48,346 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:08:48,349 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1079761779] [2022-04-28 12:08:48,349 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:08:48,350 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:08:48,393 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:08:48,393 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [715506108] [2022-04-28 12:08:48,393 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:08:48,393 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:08:48,393 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:08:48,415 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:08:48,443 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 12:08:48,507 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:08:48,508 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:08:48,524 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:08:48,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:08:48,561 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:08:51,539 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-28 12:08:51,539 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#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(10, 2);call #Ultimate.allocInit(12, 3); {326#true} is VALID [2022-04-28 12:08:51,540 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:08:51,540 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #88#return; {326#true} is VALID [2022-04-28 12:08:51,540 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-28 12:08:51,540 INFO L290 TraceCheckUtils]: 5: Hoare triple {326#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {326#true} is VALID [2022-04-28 12:08:51,540 INFO L272 TraceCheckUtils]: 6: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {326#true} is VALID [2022-04-28 12:08:51,541 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 12:08:51,541 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 12:08:51,541 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:08:51,541 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #66#return; {326#true} is VALID [2022-04-28 12:08:51,541 INFO L290 TraceCheckUtils]: 11: Hoare triple {326#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {326#true} is VALID [2022-04-28 12:08:51,541 INFO L272 TraceCheckUtils]: 12: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {326#true} is VALID [2022-04-28 12:08:51,542 INFO L290 TraceCheckUtils]: 13: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 12:08:51,542 INFO L290 TraceCheckUtils]: 14: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 12:08:51,542 INFO L290 TraceCheckUtils]: 15: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:08:51,542 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {326#true} {326#true} #68#return; {326#true} is VALID [2022-04-28 12:08:51,542 INFO L272 TraceCheckUtils]: 17: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-28 12:08:51,542 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 12:08:51,542 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 12:08:51,543 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:08:51,543 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {326#true} {326#true} #70#return; {326#true} is VALID [2022-04-28 12:08:51,543 INFO L272 TraceCheckUtils]: 22: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-28 12:08:51,543 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 12:08:51,543 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 12:08:51,543 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:08:51,544 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {326#true} {326#true} #72#return; {326#true} is VALID [2022-04-28 12:08:51,544 INFO L290 TraceCheckUtils]: 27: Hoare triple {326#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:08:51,545 INFO L290 TraceCheckUtils]: 28: Hoare triple {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !false; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:08:51,546 INFO L272 TraceCheckUtils]: 29: Hoare triple {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {419#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:08:51,546 INFO L290 TraceCheckUtils]: 30: Hoare triple {419#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {423#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:08:51,547 INFO L290 TraceCheckUtils]: 31: Hoare triple {423#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {327#false} is VALID [2022-04-28 12:08:51,547 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-28 12:08:51,547 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:08:51,548 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:08:51,548 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:08:51,548 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1079761779] [2022-04-28 12:08:51,548 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:08:51,548 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [715506108] [2022-04-28 12:08:51,548 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [715506108] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:08:51,548 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:08:51,549 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:08:51,549 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:08:51,550 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [283493714] [2022-04-28 12:08:51,550 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [283493714] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:08:51,550 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:08:51,550 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:08:51,550 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1474530355] [2022-04-28 12:08:51,550 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:08:51,551 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-04-28 12:08:51,551 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:08:51,551 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:08:51,573 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:08:51,573 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:08:51,573 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:08:51,578 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:08:51,580 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:08:51,580 INFO L87 Difference]: Start difference. First operand 32 states and 42 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:08:51,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:51,849 INFO L93 Difference]: Finished difference Result 48 states and 65 transitions. [2022-04-28 12:08:51,849 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:08:51,850 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-04-28 12:08:51,850 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:08:51,850 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:08:51,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:08:51,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:08:51,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:08:51,866 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 12:08:51,931 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-28 12:08:51,935 INFO L225 Difference]: With dead ends: 48 [2022-04-28 12:08:51,935 INFO L226 Difference]: Without dead ends: 46 [2022-04-28 12:08:51,936 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:08:51,938 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:08:51,942 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 143 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:08:51,944 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-28 12:08:51,967 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2022-04-28 12:08:51,967 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:08:51,968 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:08:51,969 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:08:51,970 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:08:51,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:51,980 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-28 12:08:51,980 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-28 12:08:51,982 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:08:51,982 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:08:51,983 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-28 12:08:51,983 INFO L87 Difference]: Start difference. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-28 12:08:51,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:51,987 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-28 12:08:51,987 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-28 12:08:51,987 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:08:51,988 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:08:51,988 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:08:51,988 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:08:51,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:08:51,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 62 transitions. [2022-04-28 12:08:51,991 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 62 transitions. Word has length 33 [2022-04-28 12:08:51,992 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:08:51,992 INFO L495 AbstractCegarLoop]: Abstraction has 45 states and 62 transitions. [2022-04-28 12:08:51,992 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:08:51,992 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 62 transitions. [2022-04-28 12:08:52,402 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-28 12:08:52,403 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-28 12:08:52,404 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 12:08:52,404 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:08:52,404 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:08:52,433 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 12:08:52,605 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:08:52,605 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:08:52,605 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:08:52,605 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 1 times [2022-04-28 12:08:52,606 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:08:52,606 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1425898523] [2022-04-28 12:08:52,606 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:08:52,606 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 2 times [2022-04-28 12:08:52,606 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:08:52,607 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [32957640] [2022-04-28 12:08:52,607 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:08:52,607 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:08:52,638 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:08:52,639 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [666551631] [2022-04-28 12:08:52,639 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:08:52,642 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:08:52,642 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:08:52,651 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:08:52,683 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 12:08:52,714 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:08:52,715 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:08:52,716 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:08:52,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:08:52,736 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:08:56,975 INFO L272 TraceCheckUtils]: 0: Hoare triple {709#true} call ULTIMATE.init(); {709#true} is VALID [2022-04-28 12:08:56,975 INFO L290 TraceCheckUtils]: 1: Hoare triple {709#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(10, 2);call #Ultimate.allocInit(12, 3); {709#true} is VALID [2022-04-28 12:08:56,975 INFO L290 TraceCheckUtils]: 2: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:08:56,975 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {709#true} {709#true} #88#return; {709#true} is VALID [2022-04-28 12:08:56,976 INFO L272 TraceCheckUtils]: 4: Hoare triple {709#true} call #t~ret6 := main(); {709#true} is VALID [2022-04-28 12:08:56,976 INFO L290 TraceCheckUtils]: 5: Hoare triple {709#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {709#true} is VALID [2022-04-28 12:08:56,976 INFO L272 TraceCheckUtils]: 6: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {709#true} is VALID [2022-04-28 12:08:56,976 INFO L290 TraceCheckUtils]: 7: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:08:56,976 INFO L290 TraceCheckUtils]: 8: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:08:56,976 INFO L290 TraceCheckUtils]: 9: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:08:56,976 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {709#true} {709#true} #66#return; {709#true} is VALID [2022-04-28 12:08:56,977 INFO L290 TraceCheckUtils]: 11: Hoare triple {709#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {709#true} is VALID [2022-04-28 12:08:56,977 INFO L272 TraceCheckUtils]: 12: Hoare triple {709#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {709#true} is VALID [2022-04-28 12:08:56,977 INFO L290 TraceCheckUtils]: 13: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:08:56,977 INFO L290 TraceCheckUtils]: 14: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:08:56,980 INFO L290 TraceCheckUtils]: 15: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:08:56,980 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {709#true} {709#true} #68#return; {709#true} is VALID [2022-04-28 12:08:56,981 INFO L272 TraceCheckUtils]: 17: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-28 12:08:56,981 INFO L290 TraceCheckUtils]: 18: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:08:56,981 INFO L290 TraceCheckUtils]: 19: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:08:56,981 INFO L290 TraceCheckUtils]: 20: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:08:56,981 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {709#true} {709#true} #70#return; {709#true} is VALID [2022-04-28 12:08:56,982 INFO L272 TraceCheckUtils]: 22: Hoare triple {709#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-28 12:08:56,982 INFO L290 TraceCheckUtils]: 23: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:08:56,982 INFO L290 TraceCheckUtils]: 24: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:08:56,982 INFO L290 TraceCheckUtils]: 25: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:08:56,984 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {709#true} {709#true} #72#return; {709#true} is VALID [2022-04-28 12:08:56,985 INFO L290 TraceCheckUtils]: 27: Hoare triple {709#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:56,985 INFO L290 TraceCheckUtils]: 28: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:56,987 INFO L272 TraceCheckUtils]: 29: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {709#true} is VALID [2022-04-28 12:08:56,987 INFO L290 TraceCheckUtils]: 30: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:08:56,999 INFO L290 TraceCheckUtils]: 31: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:08:57,000 INFO L290 TraceCheckUtils]: 32: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:08:57,001 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {709#true} {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:08:57,002 INFO L272 TraceCheckUtils]: 34: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:08:57,003 INFO L290 TraceCheckUtils]: 35: Hoare triple {817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:08:57,003 INFO L290 TraceCheckUtils]: 36: Hoare triple {821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {710#false} is VALID [2022-04-28 12:08:57,003 INFO L290 TraceCheckUtils]: 37: Hoare triple {710#false} assume !false; {710#false} is VALID [2022-04-28 12:08:57,004 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:08:57,004 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:08:57,004 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:08:57,004 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [32957640] [2022-04-28 12:08:57,004 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:08:57,004 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [666551631] [2022-04-28 12:08:57,005 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [666551631] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:08:57,005 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:08:57,005 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:08:57,005 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:08:57,005 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1425898523] [2022-04-28 12:08:57,005 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1425898523] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:08:57,005 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:08:57,005 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:08:57,005 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [347559374] [2022-04-28 12:08:57,005 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:08:57,006 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-28 12:08:57,009 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:08:57,010 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:08:57,036 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:08:57,037 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:08:57,037 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:08:57,037 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:08:57,037 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:08:57,038 INFO L87 Difference]: Start difference. First operand 45 states and 62 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:08:57,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:57,269 INFO L93 Difference]: Finished difference Result 52 states and 68 transitions. [2022-04-28 12:08:57,269 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:08:57,269 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-28 12:08:57,271 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:08:57,271 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:08:57,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:08:57,275 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:08:57,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:08:57,278 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 12:08:57,336 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-28 12:08:57,340 INFO L225 Difference]: With dead ends: 52 [2022-04-28 12:08:57,340 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 12:08:57,341 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 34 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:08:57,348 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:08:57,350 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 140 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:08:57,351 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 12:08:57,375 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2022-04-28 12:08:57,375 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:08:57,376 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:08:57,376 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:08:57,377 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:08:57,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:57,380 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-28 12:08:57,380 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-28 12:08:57,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:08:57,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:08:57,381 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-28 12:08:57,382 INFO L87 Difference]: Start difference. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-28 12:08:57,385 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:08:57,385 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-28 12:08:57,385 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-28 12:08:57,385 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:08:57,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:08:57,386 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:08:57,386 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:08:57,386 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:08:57,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 65 transitions. [2022-04-28 12:08:57,389 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 65 transitions. Word has length 38 [2022-04-28 12:08:57,389 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:08:57,389 INFO L495 AbstractCegarLoop]: Abstraction has 49 states and 65 transitions. [2022-04-28 12:08:57,390 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:08:57,390 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 65 transitions. [2022-04-28 12:08:57,467 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-28 12:08:57,467 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-28 12:08:57,469 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 12:08:57,469 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:08:57,470 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:08:57,494 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 12:08:57,688 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 12:08:57,688 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:08:57,688 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:08:57,688 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 1 times [2022-04-28 12:08:57,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:08:57,689 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1591678013] [2022-04-28 12:08:57,689 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:08:57,689 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 2 times [2022-04-28 12:08:57,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:08:57,689 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [530797275] [2022-04-28 12:08:57,689 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:08:57,690 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:08:57,725 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:08:57,725 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [393867071] [2022-04-28 12:08:57,725 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:08:57,725 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:08:57,725 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:08:57,726 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:08:57,731 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 12:08:57,778 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:08:57,779 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:08:57,780 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:08:57,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:08:57,795 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:09:02,042 INFO L272 TraceCheckUtils]: 0: Hoare triple {1131#true} call ULTIMATE.init(); {1131#true} is VALID [2022-04-28 12:09:02,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {1131#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(10, 2);call #Ultimate.allocInit(12, 3); {1131#true} is VALID [2022-04-28 12:09:02,042 INFO L290 TraceCheckUtils]: 2: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:09:02,042 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1131#true} {1131#true} #88#return; {1131#true} is VALID [2022-04-28 12:09:02,042 INFO L272 TraceCheckUtils]: 4: Hoare triple {1131#true} call #t~ret6 := main(); {1131#true} is VALID [2022-04-28 12:09:02,042 INFO L290 TraceCheckUtils]: 5: Hoare triple {1131#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1131#true} is VALID [2022-04-28 12:09:02,043 INFO L272 TraceCheckUtils]: 6: Hoare triple {1131#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {1131#true} is VALID [2022-04-28 12:09:02,043 INFO L290 TraceCheckUtils]: 7: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 12:09:02,043 INFO L290 TraceCheckUtils]: 8: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 12:09:02,043 INFO L290 TraceCheckUtils]: 9: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:09:02,043 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1131#true} {1131#true} #66#return; {1131#true} is VALID [2022-04-28 12:09:02,043 INFO L290 TraceCheckUtils]: 11: Hoare triple {1131#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1131#true} is VALID [2022-04-28 12:09:02,043 INFO L272 TraceCheckUtils]: 12: Hoare triple {1131#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {1131#true} is VALID [2022-04-28 12:09:02,043 INFO L290 TraceCheckUtils]: 13: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 12:09:02,043 INFO L290 TraceCheckUtils]: 14: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 12:09:02,044 INFO L290 TraceCheckUtils]: 15: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:09:02,044 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1131#true} {1131#true} #68#return; {1131#true} is VALID [2022-04-28 12:09:02,044 INFO L272 TraceCheckUtils]: 17: Hoare triple {1131#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1131#true} is VALID [2022-04-28 12:09:02,044 INFO L290 TraceCheckUtils]: 18: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 12:09:02,044 INFO L290 TraceCheckUtils]: 19: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 12:09:02,044 INFO L290 TraceCheckUtils]: 20: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:09:02,044 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1131#true} {1131#true} #70#return; {1131#true} is VALID [2022-04-28 12:09:02,044 INFO L272 TraceCheckUtils]: 22: Hoare triple {1131#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1131#true} is VALID [2022-04-28 12:09:02,044 INFO L290 TraceCheckUtils]: 23: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 12:09:02,045 INFO L290 TraceCheckUtils]: 24: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 12:09:02,045 INFO L290 TraceCheckUtils]: 25: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:09:02,045 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1131#true} {1131#true} #72#return; {1131#true} is VALID [2022-04-28 12:09:02,045 INFO L290 TraceCheckUtils]: 27: Hoare triple {1131#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:09:02,046 INFO L290 TraceCheckUtils]: 28: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:09:02,046 INFO L272 TraceCheckUtils]: 29: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1131#true} is VALID [2022-04-28 12:09:02,046 INFO L290 TraceCheckUtils]: 30: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 12:09:02,046 INFO L290 TraceCheckUtils]: 31: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 12:09:02,046 INFO L290 TraceCheckUtils]: 32: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:09:02,047 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1131#true} {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:09:02,047 INFO L272 TraceCheckUtils]: 34: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1131#true} is VALID [2022-04-28 12:09:02,047 INFO L290 TraceCheckUtils]: 35: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 12:09:02,047 INFO L290 TraceCheckUtils]: 36: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 12:09:02,048 INFO L290 TraceCheckUtils]: 37: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 12:09:02,048 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1131#true} {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:09:02,049 INFO L272 TraceCheckUtils]: 39: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1254#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:09:02,050 INFO L290 TraceCheckUtils]: 40: Hoare triple {1254#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1258#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:02,050 INFO L290 TraceCheckUtils]: 41: Hoare triple {1258#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1132#false} is VALID [2022-04-28 12:09:02,050 INFO L290 TraceCheckUtils]: 42: Hoare triple {1132#false} assume !false; {1132#false} is VALID [2022-04-28 12:09:02,051 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 12:09:02,051 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:09:02,051 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:09:02,051 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [530797275] [2022-04-28 12:09:02,052 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:09:02,052 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [393867071] [2022-04-28 12:09:02,052 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [393867071] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:09:02,052 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:09:02,052 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:09:02,052 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:09:02,052 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1591678013] [2022-04-28 12:09:02,052 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1591678013] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:09:02,052 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:09:02,052 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:09:02,053 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1596434224] [2022-04-28 12:09:02,053 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:09:02,053 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-28 12:09:02,054 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:09:02,054 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:09:02,095 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:02,095 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:09:02,095 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:02,096 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:09:02,096 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:09:02,097 INFO L87 Difference]: Start difference. First operand 49 states and 65 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:09:02,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:02,424 INFO L93 Difference]: Finished difference Result 74 states and 105 transitions. [2022-04-28 12:09:02,424 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:09:02,424 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-28 12:09:02,424 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:09:02,424 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:09:02,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:09:02,426 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:09:02,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:09:02,427 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 12:09:02,519 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-28 12:09:02,523 INFO L225 Difference]: With dead ends: 74 [2022-04-28 12:09:02,523 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 12:09:02,524 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:09:02,525 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:09:02,526 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 139 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:09:02,526 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 12:09:02,555 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-28 12:09:02,555 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:09:02,556 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:09:02,557 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:09:02,559 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:09:02,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:02,564 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-28 12:09:02,564 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-28 12:09:02,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:02,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:02,582 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-28 12:09:02,583 INFO L87 Difference]: Start difference. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-28 12:09:02,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:02,588 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-28 12:09:02,588 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-28 12:09:02,589 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:02,589 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:02,589 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:09:02,589 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:09:02,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:09:02,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 98 transitions. [2022-04-28 12:09:02,595 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 98 transitions. Word has length 43 [2022-04-28 12:09:02,595 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:09:02,596 INFO L495 AbstractCegarLoop]: Abstraction has 70 states and 98 transitions. [2022-04-28 12:09:02,596 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:09:02,596 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 98 transitions. [2022-04-28 12:09:02,758 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:02,758 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-28 12:09:02,760 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 12:09:02,760 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:09:02,760 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:09:02,827 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 12:09:02,975 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:09:02,976 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:09:02,976 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:09:02,976 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 1 times [2022-04-28 12:09:02,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:02,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [963913502] [2022-04-28 12:09:02,977 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:09:02,977 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 2 times [2022-04-28 12:09:02,977 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:09:02,977 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1202202307] [2022-04-28 12:09:02,977 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:09:02,977 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:09:03,019 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:09:03,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1015580114] [2022-04-28 12:09:03,019 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:09:03,019 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:09:03,019 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:09:03,031 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:09:03,067 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 12:09:03,130 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:09:03,130 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:09:03,131 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:09:03,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:09:03,148 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:09:03,273 INFO L272 TraceCheckUtils]: 0: Hoare triple {1694#true} call ULTIMATE.init(); {1694#true} is VALID [2022-04-28 12:09:03,273 INFO L290 TraceCheckUtils]: 1: Hoare triple {1694#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(10, 2);call #Ultimate.allocInit(12, 3); {1694#true} is VALID [2022-04-28 12:09:03,275 INFO L290 TraceCheckUtils]: 2: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:09:03,275 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1694#true} {1694#true} #88#return; {1694#true} is VALID [2022-04-28 12:09:03,275 INFO L272 TraceCheckUtils]: 4: Hoare triple {1694#true} call #t~ret6 := main(); {1694#true} is VALID [2022-04-28 12:09:03,276 INFO L290 TraceCheckUtils]: 5: Hoare triple {1694#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1694#true} is VALID [2022-04-28 12:09:03,276 INFO L272 TraceCheckUtils]: 6: Hoare triple {1694#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:09:03,276 INFO L290 TraceCheckUtils]: 7: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:09:03,276 INFO L290 TraceCheckUtils]: 8: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:09:03,276 INFO L290 TraceCheckUtils]: 9: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:09:03,277 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1694#true} {1694#true} #66#return; {1694#true} is VALID [2022-04-28 12:09:03,277 INFO L290 TraceCheckUtils]: 11: Hoare triple {1694#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1694#true} is VALID [2022-04-28 12:09:03,277 INFO L272 TraceCheckUtils]: 12: Hoare triple {1694#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:09:03,277 INFO L290 TraceCheckUtils]: 13: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:09:03,278 INFO L290 TraceCheckUtils]: 14: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:09:03,281 INFO L290 TraceCheckUtils]: 15: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:09:03,281 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1694#true} {1694#true} #68#return; {1694#true} is VALID [2022-04-28 12:09:03,281 INFO L272 TraceCheckUtils]: 17: Hoare triple {1694#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:09:03,281 INFO L290 TraceCheckUtils]: 18: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:09:03,282 INFO L290 TraceCheckUtils]: 19: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:09:03,282 INFO L290 TraceCheckUtils]: 20: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:09:03,282 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1694#true} {1694#true} #70#return; {1694#true} is VALID [2022-04-28 12:09:03,282 INFO L272 TraceCheckUtils]: 22: Hoare triple {1694#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:09:03,282 INFO L290 TraceCheckUtils]: 23: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:09:03,283 INFO L290 TraceCheckUtils]: 24: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:09:03,283 INFO L290 TraceCheckUtils]: 25: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:09:03,283 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1694#true} {1694#true} #72#return; {1694#true} is VALID [2022-04-28 12:09:03,283 INFO L290 TraceCheckUtils]: 27: Hoare triple {1694#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1694#true} is VALID [2022-04-28 12:09:03,283 INFO L290 TraceCheckUtils]: 28: Hoare triple {1694#true} assume !false; {1694#true} is VALID [2022-04-28 12:09:03,283 INFO L272 TraceCheckUtils]: 29: Hoare triple {1694#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:09:03,283 INFO L290 TraceCheckUtils]: 30: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:09:03,284 INFO L290 TraceCheckUtils]: 31: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:09:03,284 INFO L290 TraceCheckUtils]: 32: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:09:03,284 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1694#true} {1694#true} #74#return; {1694#true} is VALID [2022-04-28 12:09:03,284 INFO L272 TraceCheckUtils]: 34: Hoare triple {1694#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:09:03,284 INFO L290 TraceCheckUtils]: 35: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:09:03,284 INFO L290 TraceCheckUtils]: 36: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:09:03,284 INFO L290 TraceCheckUtils]: 37: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:09:03,284 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1694#true} {1694#true} #76#return; {1694#true} is VALID [2022-04-28 12:09:03,285 INFO L272 TraceCheckUtils]: 39: Hoare triple {1694#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1694#true} is VALID [2022-04-28 12:09:03,285 INFO L290 TraceCheckUtils]: 40: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 12:09:03,285 INFO L290 TraceCheckUtils]: 41: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 12:09:03,285 INFO L290 TraceCheckUtils]: 42: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 12:09:03,286 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1694#true} {1694#true} #78#return; {1694#true} is VALID [2022-04-28 12:09:03,286 INFO L290 TraceCheckUtils]: 44: Hoare triple {1694#true} assume !(~a~0 != ~b~0); {1831#(= main_~b~0 main_~a~0)} is VALID [2022-04-28 12:09:03,287 INFO L272 TraceCheckUtils]: 45: Hoare triple {1831#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {1835#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:09:03,288 INFO L290 TraceCheckUtils]: 46: Hoare triple {1835#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1839#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:03,288 INFO L290 TraceCheckUtils]: 47: Hoare triple {1839#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1695#false} is VALID [2022-04-28 12:09:03,289 INFO L290 TraceCheckUtils]: 48: Hoare triple {1695#false} assume !false; {1695#false} is VALID [2022-04-28 12:09:03,289 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-28 12:09:03,289 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:09:03,289 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:09:03,290 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1202202307] [2022-04-28 12:09:03,290 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:09:03,290 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1015580114] [2022-04-28 12:09:03,290 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1015580114] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:09:03,290 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:09:03,290 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:09:03,291 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:09:03,291 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [963913502] [2022-04-28 12:09:03,291 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [963913502] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:09:03,291 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:09:03,291 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:09:03,291 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1490458303] [2022-04-28 12:09:03,291 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:09:03,292 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-28 12:09:03,292 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:09:03,292 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:09:03,316 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:03,317 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:09:03,317 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:03,317 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:09:03,317 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:09:03,317 INFO L87 Difference]: Start difference. First operand 70 states and 98 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:09:03,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:03,490 INFO L93 Difference]: Finished difference Result 76 states and 103 transitions. [2022-04-28 12:09:03,490 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:09:03,491 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-28 12:09:03,491 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:09:03,491 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:09:03,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-28 12:09:03,493 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:09:03,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-28 12:09:03,494 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-28 12:09:03,530 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:03,533 INFO L225 Difference]: With dead ends: 76 [2022-04-28 12:09:03,533 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 12:09:03,533 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:09:03,534 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 5 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:09:03,534 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 139 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:09:03,534 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 12:09:03,559 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-28 12:09:03,559 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:09:03,559 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:09:03,560 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:09:03,560 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:09:03,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:03,564 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-28 12:09:03,564 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-28 12:09:03,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:03,565 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:03,565 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-28 12:09:03,565 INFO L87 Difference]: Start difference. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-28 12:09:03,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:03,569 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-28 12:09:03,569 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-28 12:09:03,569 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:03,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:03,570 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:09:03,570 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:09:03,570 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:09:03,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 101 transitions. [2022-04-28 12:09:03,573 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 101 transitions. Word has length 49 [2022-04-28 12:09:03,574 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:09:03,574 INFO L495 AbstractCegarLoop]: Abstraction has 74 states and 101 transitions. [2022-04-28 12:09:03,574 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:09:03,574 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 101 transitions. [2022-04-28 12:09:03,695 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:03,696 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-28 12:09:03,696 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 12:09:03,697 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:09:03,697 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:09:03,725 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 12:09:03,922 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:09:03,922 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:09:03,923 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:09:03,923 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 1 times [2022-04-28 12:09:03,923 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:03,923 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [557725579] [2022-04-28 12:09:03,924 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:09:03,924 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 2 times [2022-04-28 12:09:03,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:09:03,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1154563432] [2022-04-28 12:09:03,924 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:09:03,924 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:09:03,945 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:09:03,945 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1399453124] [2022-04-28 12:09:03,945 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:09:03,945 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:09:03,945 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:09:03,946 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:09:03,955 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 12:09:03,996 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:09:03,997 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:09:03,998 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:09:04,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:09:04,018 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:09:06,623 INFO L272 TraceCheckUtils]: 0: Hoare triple {2295#true} call ULTIMATE.init(); {2295#true} is VALID [2022-04-28 12:09:06,624 INFO L290 TraceCheckUtils]: 1: Hoare triple {2295#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(10, 2);call #Ultimate.allocInit(12, 3); {2295#true} is VALID [2022-04-28 12:09:06,624 INFO L290 TraceCheckUtils]: 2: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:09:06,624 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2295#true} {2295#true} #88#return; {2295#true} is VALID [2022-04-28 12:09:06,624 INFO L272 TraceCheckUtils]: 4: Hoare triple {2295#true} call #t~ret6 := main(); {2295#true} is VALID [2022-04-28 12:09:06,624 INFO L290 TraceCheckUtils]: 5: Hoare triple {2295#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2295#true} is VALID [2022-04-28 12:09:06,624 INFO L272 TraceCheckUtils]: 6: Hoare triple {2295#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {2295#true} is VALID [2022-04-28 12:09:06,624 INFO L290 TraceCheckUtils]: 7: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:09:06,625 INFO L290 TraceCheckUtils]: 8: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:09:06,625 INFO L290 TraceCheckUtils]: 9: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:09:06,625 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2295#true} {2295#true} #66#return; {2295#true} is VALID [2022-04-28 12:09:06,625 INFO L290 TraceCheckUtils]: 11: Hoare triple {2295#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2295#true} is VALID [2022-04-28 12:09:06,625 INFO L272 TraceCheckUtils]: 12: Hoare triple {2295#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {2295#true} is VALID [2022-04-28 12:09:06,625 INFO L290 TraceCheckUtils]: 13: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:09:06,626 INFO L290 TraceCheckUtils]: 14: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:09:06,626 INFO L290 TraceCheckUtils]: 15: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:09:06,626 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2295#true} {2295#true} #68#return; {2295#true} is VALID [2022-04-28 12:09:06,626 INFO L272 TraceCheckUtils]: 17: Hoare triple {2295#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2295#true} is VALID [2022-04-28 12:09:06,626 INFO L290 TraceCheckUtils]: 18: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:09:06,626 INFO L290 TraceCheckUtils]: 19: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:09:06,626 INFO L290 TraceCheckUtils]: 20: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:09:06,627 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2295#true} {2295#true} #70#return; {2295#true} is VALID [2022-04-28 12:09:06,627 INFO L272 TraceCheckUtils]: 22: Hoare triple {2295#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2295#true} is VALID [2022-04-28 12:09:06,627 INFO L290 TraceCheckUtils]: 23: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:09:06,633 INFO L290 TraceCheckUtils]: 24: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:09:06,633 INFO L290 TraceCheckUtils]: 25: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:09:06,633 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2295#true} {2295#true} #72#return; {2295#true} is VALID [2022-04-28 12:09:06,634 INFO L290 TraceCheckUtils]: 27: Hoare triple {2295#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:06,634 INFO L290 TraceCheckUtils]: 28: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:06,635 INFO L272 TraceCheckUtils]: 29: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2295#true} is VALID [2022-04-28 12:09:06,635 INFO L290 TraceCheckUtils]: 30: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:09:06,635 INFO L290 TraceCheckUtils]: 31: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:09:06,635 INFO L290 TraceCheckUtils]: 32: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:09:06,636 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:06,636 INFO L272 TraceCheckUtils]: 34: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2295#true} is VALID [2022-04-28 12:09:06,636 INFO L290 TraceCheckUtils]: 35: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:09:06,636 INFO L290 TraceCheckUtils]: 36: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:09:06,636 INFO L290 TraceCheckUtils]: 37: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:09:06,637 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:06,637 INFO L272 TraceCheckUtils]: 39: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2295#true} is VALID [2022-04-28 12:09:06,637 INFO L290 TraceCheckUtils]: 40: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 12:09:06,637 INFO L290 TraceCheckUtils]: 41: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 12:09:06,638 INFO L290 TraceCheckUtils]: 42: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 12:09:06,638 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:06,639 INFO L290 TraceCheckUtils]: 44: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:06,639 INFO L290 TraceCheckUtils]: 45: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:06,640 INFO L290 TraceCheckUtils]: 46: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:06,641 INFO L272 TraceCheckUtils]: 47: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2442#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:09:06,641 INFO L290 TraceCheckUtils]: 48: Hoare triple {2442#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2446#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:06,641 INFO L290 TraceCheckUtils]: 49: Hoare triple {2446#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2296#false} is VALID [2022-04-28 12:09:06,642 INFO L290 TraceCheckUtils]: 50: Hoare triple {2296#false} assume !false; {2296#false} is VALID [2022-04-28 12:09:06,642 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-28 12:09:06,642 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:09:06,642 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:09:06,642 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1154563432] [2022-04-28 12:09:06,642 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:09:06,642 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1399453124] [2022-04-28 12:09:06,643 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1399453124] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:09:06,643 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:09:06,643 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:09:06,643 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:09:06,643 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [557725579] [2022-04-28 12:09:06,643 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [557725579] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:09:06,643 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:09:06,643 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:09:06,643 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1413379373] [2022-04-28 12:09:06,644 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:09:06,644 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-28 12:09:06,644 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:09:06,645 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:09:06,677 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:06,677 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:09:06,677 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:06,678 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:09:06,678 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:09:06,678 INFO L87 Difference]: Start difference. First operand 74 states and 101 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:09:06,891 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:06,891 INFO L93 Difference]: Finished difference Result 84 states and 109 transitions. [2022-04-28 12:09:06,891 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:09:06,891 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-28 12:09:06,892 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:09:06,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:09:06,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-28 12:09:06,893 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:09:06,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-28 12:09:06,895 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-28 12:09:06,949 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:06,951 INFO L225 Difference]: With dead ends: 84 [2022-04-28 12:09:06,951 INFO L226 Difference]: Without dead ends: 81 [2022-04-28 12:09:06,951 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:09:06,952 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 6 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:09:06,952 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 146 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:09:06,953 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-28 12:09:06,985 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 79. [2022-04-28 12:09:06,986 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:09:06,986 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:09:06,986 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:09:06,987 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:09:06,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:06,990 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-28 12:09:06,990 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-28 12:09:06,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:06,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:06,991 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-28 12:09:06,991 INFO L87 Difference]: Start difference. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-28 12:09:06,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:06,994 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-28 12:09:06,994 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-28 12:09:06,994 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:06,994 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:06,994 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:09:06,995 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:09:06,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:09:06,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 102 transitions. [2022-04-28 12:09:06,998 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 102 transitions. Word has length 51 [2022-04-28 12:09:06,998 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:09:06,998 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 102 transitions. [2022-04-28 12:09:06,998 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:09:06,998 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 102 transitions. [2022-04-28 12:09:07,120 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:07,120 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 102 transitions. [2022-04-28 12:09:07,121 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-28 12:09:07,121 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:09:07,121 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:09:07,148 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 12:09:07,321 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:09:07,322 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:09:07,322 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:09:07,322 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 1 times [2022-04-28 12:09:07,322 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:07,322 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [158835704] [2022-04-28 12:09:07,323 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:09:07,323 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 2 times [2022-04-28 12:09:07,323 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:09:07,323 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1896314519] [2022-04-28 12:09:07,324 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:09:07,324 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:09:07,350 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:09:07,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1345513154] [2022-04-28 12:09:07,350 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:09:07,350 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:09:07,350 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:09:07,360 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:09:07,361 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 12:09:07,403 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:09:07,403 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:09:07,404 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 12:09:07,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:09:07,416 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:09:07,601 INFO L272 TraceCheckUtils]: 0: Hoare triple {2942#true} call ULTIMATE.init(); {2942#true} is VALID [2022-04-28 12:09:07,601 INFO L290 TraceCheckUtils]: 1: Hoare triple {2942#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(10, 2);call #Ultimate.allocInit(12, 3); {2942#true} is VALID [2022-04-28 12:09:07,601 INFO L290 TraceCheckUtils]: 2: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:09:07,601 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2942#true} {2942#true} #88#return; {2942#true} is VALID [2022-04-28 12:09:07,601 INFO L272 TraceCheckUtils]: 4: Hoare triple {2942#true} call #t~ret6 := main(); {2942#true} is VALID [2022-04-28 12:09:07,601 INFO L290 TraceCheckUtils]: 5: Hoare triple {2942#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2942#true} is VALID [2022-04-28 12:09:07,601 INFO L272 TraceCheckUtils]: 6: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:09:07,602 INFO L290 TraceCheckUtils]: 7: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:09:07,602 INFO L290 TraceCheckUtils]: 8: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:09:07,602 INFO L290 TraceCheckUtils]: 9: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:09:07,602 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2942#true} {2942#true} #66#return; {2942#true} is VALID [2022-04-28 12:09:07,602 INFO L290 TraceCheckUtils]: 11: Hoare triple {2942#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2942#true} is VALID [2022-04-28 12:09:07,602 INFO L272 TraceCheckUtils]: 12: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:09:07,602 INFO L290 TraceCheckUtils]: 13: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:09:07,602 INFO L290 TraceCheckUtils]: 14: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:09:07,602 INFO L290 TraceCheckUtils]: 15: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:09:07,602 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2942#true} {2942#true} #68#return; {2942#true} is VALID [2022-04-28 12:09:07,603 INFO L272 TraceCheckUtils]: 17: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:09:07,603 INFO L290 TraceCheckUtils]: 18: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:09:07,603 INFO L290 TraceCheckUtils]: 19: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:09:07,603 INFO L290 TraceCheckUtils]: 20: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:09:07,603 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2942#true} {2942#true} #70#return; {2942#true} is VALID [2022-04-28 12:09:07,603 INFO L272 TraceCheckUtils]: 22: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:09:07,603 INFO L290 TraceCheckUtils]: 23: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:09:07,603 INFO L290 TraceCheckUtils]: 24: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:09:07,603 INFO L290 TraceCheckUtils]: 25: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:09:07,603 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2942#true} {2942#true} #72#return; {2942#true} is VALID [2022-04-28 12:09:07,604 INFO L290 TraceCheckUtils]: 27: Hoare triple {2942#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2942#true} is VALID [2022-04-28 12:09:07,604 INFO L290 TraceCheckUtils]: 28: Hoare triple {2942#true} assume !false; {2942#true} is VALID [2022-04-28 12:09:07,604 INFO L272 TraceCheckUtils]: 29: Hoare triple {2942#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:09:07,604 INFO L290 TraceCheckUtils]: 30: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:09:07,604 INFO L290 TraceCheckUtils]: 31: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:09:07,604 INFO L290 TraceCheckUtils]: 32: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:09:07,604 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2942#true} {2942#true} #74#return; {2942#true} is VALID [2022-04-28 12:09:07,604 INFO L272 TraceCheckUtils]: 34: Hoare triple {2942#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:09:07,605 INFO L290 TraceCheckUtils]: 35: Hoare triple {2942#true} ~cond := #in~cond; {3052#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:07,605 INFO L290 TraceCheckUtils]: 36: Hoare triple {3052#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:07,607 INFO L290 TraceCheckUtils]: 37: Hoare triple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:07,612 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} {2942#true} #76#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:07,612 INFO L272 TraceCheckUtils]: 39: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:09:07,613 INFO L290 TraceCheckUtils]: 40: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:09:07,613 INFO L290 TraceCheckUtils]: 41: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:09:07,613 INFO L290 TraceCheckUtils]: 42: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:09:07,614 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2942#true} {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:07,614 INFO L290 TraceCheckUtils]: 44: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:07,614 INFO L272 TraceCheckUtils]: 45: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:09:07,614 INFO L290 TraceCheckUtils]: 46: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:09:07,614 INFO L290 TraceCheckUtils]: 47: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:09:07,614 INFO L290 TraceCheckUtils]: 48: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:09:07,615 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2942#true} {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:07,616 INFO L272 TraceCheckUtils]: 50: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:09:07,616 INFO L290 TraceCheckUtils]: 51: Hoare triple {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3105#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:07,617 INFO L290 TraceCheckUtils]: 52: Hoare triple {3105#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2943#false} is VALID [2022-04-28 12:09:07,617 INFO L290 TraceCheckUtils]: 53: Hoare triple {2943#false} assume !false; {2943#false} is VALID [2022-04-28 12:09:07,619 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 12:09:07,619 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:09:22,018 INFO L290 TraceCheckUtils]: 53: Hoare triple {2943#false} assume !false; {2943#false} is VALID [2022-04-28 12:09:22,018 INFO L290 TraceCheckUtils]: 52: Hoare triple {3105#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2943#false} is VALID [2022-04-28 12:09:22,019 INFO L290 TraceCheckUtils]: 51: Hoare triple {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3105#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:22,020 INFO L272 TraceCheckUtils]: 50: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:09:22,021 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2942#true} {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:22,021 INFO L290 TraceCheckUtils]: 48: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:09:22,021 INFO L290 TraceCheckUtils]: 47: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:09:22,021 INFO L290 TraceCheckUtils]: 46: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:09:22,021 INFO L272 TraceCheckUtils]: 45: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:09:22,021 INFO L290 TraceCheckUtils]: 44: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:22,022 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2942#true} {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:22,022 INFO L290 TraceCheckUtils]: 42: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:09:22,022 INFO L290 TraceCheckUtils]: 41: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:09:22,023 INFO L290 TraceCheckUtils]: 40: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:09:22,023 INFO L272 TraceCheckUtils]: 39: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:09:22,024 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} {2942#true} #76#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:22,024 INFO L290 TraceCheckUtils]: 37: Hoare triple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:22,024 INFO L290 TraceCheckUtils]: 36: Hoare triple {3166#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:22,025 INFO L290 TraceCheckUtils]: 35: Hoare triple {2942#true} ~cond := #in~cond; {3166#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:09:22,025 INFO L272 TraceCheckUtils]: 34: Hoare triple {2942#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:09:22,025 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2942#true} {2942#true} #74#return; {2942#true} is VALID [2022-04-28 12:09:22,025 INFO L290 TraceCheckUtils]: 32: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:09:22,025 INFO L290 TraceCheckUtils]: 31: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:09:22,025 INFO L290 TraceCheckUtils]: 30: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:09:22,025 INFO L272 TraceCheckUtils]: 29: Hoare triple {2942#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:09:22,026 INFO L290 TraceCheckUtils]: 28: Hoare triple {2942#true} assume !false; {2942#true} is VALID [2022-04-28 12:09:22,026 INFO L290 TraceCheckUtils]: 27: Hoare triple {2942#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2942#true} is VALID [2022-04-28 12:09:22,026 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2942#true} {2942#true} #72#return; {2942#true} is VALID [2022-04-28 12:09:22,026 INFO L290 TraceCheckUtils]: 25: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:09:22,026 INFO L290 TraceCheckUtils]: 24: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:09:22,026 INFO L290 TraceCheckUtils]: 23: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:09:22,026 INFO L272 TraceCheckUtils]: 22: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:09:22,026 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2942#true} {2942#true} #70#return; {2942#true} is VALID [2022-04-28 12:09:22,026 INFO L290 TraceCheckUtils]: 20: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:09:22,027 INFO L290 TraceCheckUtils]: 19: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:09:22,027 INFO L290 TraceCheckUtils]: 18: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:09:22,027 INFO L272 TraceCheckUtils]: 17: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:09:22,027 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2942#true} {2942#true} #68#return; {2942#true} is VALID [2022-04-28 12:09:22,027 INFO L290 TraceCheckUtils]: 15: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:09:22,027 INFO L290 TraceCheckUtils]: 14: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:09:22,027 INFO L290 TraceCheckUtils]: 13: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:09:22,027 INFO L272 TraceCheckUtils]: 12: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:09:22,027 INFO L290 TraceCheckUtils]: 11: Hoare triple {2942#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2942#true} is VALID [2022-04-28 12:09:22,028 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2942#true} {2942#true} #66#return; {2942#true} is VALID [2022-04-28 12:09:22,028 INFO L290 TraceCheckUtils]: 9: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:09:22,028 INFO L290 TraceCheckUtils]: 8: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 12:09:22,028 INFO L290 TraceCheckUtils]: 7: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 12:09:22,028 INFO L272 TraceCheckUtils]: 6: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {2942#true} is VALID [2022-04-28 12:09:22,028 INFO L290 TraceCheckUtils]: 5: Hoare triple {2942#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2942#true} is VALID [2022-04-28 12:09:22,028 INFO L272 TraceCheckUtils]: 4: Hoare triple {2942#true} call #t~ret6 := main(); {2942#true} is VALID [2022-04-28 12:09:22,028 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2942#true} {2942#true} #88#return; {2942#true} is VALID [2022-04-28 12:09:22,028 INFO L290 TraceCheckUtils]: 2: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 12:09:22,028 INFO L290 TraceCheckUtils]: 1: Hoare triple {2942#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(10, 2);call #Ultimate.allocInit(12, 3); {2942#true} is VALID [2022-04-28 12:09:22,029 INFO L272 TraceCheckUtils]: 0: Hoare triple {2942#true} call ULTIMATE.init(); {2942#true} is VALID [2022-04-28 12:09:22,029 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 12:09:22,029 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:09:22,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1896314519] [2022-04-28 12:09:22,029 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:09:22,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1345513154] [2022-04-28 12:09:22,029 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1345513154] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:09:22,029 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:09:22,030 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 12:09:22,030 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:09:22,030 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [158835704] [2022-04-28 12:09:22,030 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [158835704] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:09:22,030 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:09:22,030 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:09:22,030 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2120538080] [2022-04-28 12:09:22,030 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:09:22,031 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-28 12:09:22,031 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:09:22,031 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:09:22,063 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:22,063 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:09:22,063 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:22,064 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:09:22,064 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:09:22,064 INFO L87 Difference]: Start difference. First operand 79 states and 102 transitions. Second operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:09:22,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:22,663 INFO L93 Difference]: Finished difference Result 88 states and 112 transitions. [2022-04-28 12:09:22,663 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:09:22,663 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-28 12:09:22,663 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:09:22,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:09:22,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-28 12:09:22,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:09:22,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-28 12:09:22,666 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 52 transitions. [2022-04-28 12:09:22,713 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:22,715 INFO L225 Difference]: With dead ends: 88 [2022-04-28 12:09:22,715 INFO L226 Difference]: Without dead ends: 84 [2022-04-28 12:09:22,715 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:09:22,716 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 122 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 133 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 122 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:09:22,716 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 129 Invalid, 133 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 122 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:09:22,716 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-28 12:09:22,751 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-04-28 12:09:22,751 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:09:22,752 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:09:22,752 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:09:22,752 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:09:22,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:22,755 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-28 12:09:22,755 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-28 12:09:22,756 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:22,756 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:22,756 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-28 12:09:22,756 INFO L87 Difference]: Start difference. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-28 12:09:22,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:22,760 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-28 12:09:22,760 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-28 12:09:22,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:22,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:22,760 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:09:22,760 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:09:22,761 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:09:22,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 105 transitions. [2022-04-28 12:09:22,763 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 105 transitions. Word has length 54 [2022-04-28 12:09:22,764 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:09:22,764 INFO L495 AbstractCegarLoop]: Abstraction has 84 states and 105 transitions. [2022-04-28 12:09:22,764 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:09:22,764 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 105 transitions. [2022-04-28 12:09:22,895 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:22,895 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-28 12:09:22,896 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-28 12:09:22,896 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:09:22,896 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:09:22,917 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 12:09:23,097 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:09:23,097 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:09:23,097 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:09:23,097 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 3 times [2022-04-28 12:09:23,097 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:23,098 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1247988054] [2022-04-28 12:09:23,098 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:09:23,098 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 4 times [2022-04-28 12:09:23,098 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:09:23,098 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1259832395] [2022-04-28 12:09:23,098 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:09:23,098 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:09:23,118 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:09:23,118 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [796091322] [2022-04-28 12:09:23,118 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:09:23,118 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:09:23,119 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:09:23,120 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:09:23,145 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 12:09:23,172 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:09:23,172 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:09:23,173 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 12:09:23,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:09:23,186 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:09:23,600 INFO L272 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2022-04-28 12:09:23,600 INFO L290 TraceCheckUtils]: 1: Hoare triple {3792#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(10, 2);call #Ultimate.allocInit(12, 3); {3792#true} is VALID [2022-04-28 12:09:23,601 INFO L290 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:09:23,601 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #88#return; {3792#true} is VALID [2022-04-28 12:09:23,601 INFO L272 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret6 := main(); {3792#true} is VALID [2022-04-28 12:09:23,601 INFO L290 TraceCheckUtils]: 5: Hoare triple {3792#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3792#true} is VALID [2022-04-28 12:09:23,601 INFO L272 TraceCheckUtils]: 6: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:09:23,601 INFO L290 TraceCheckUtils]: 7: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:09:23,601 INFO L290 TraceCheckUtils]: 8: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:09:23,601 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:09:23,601 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#true} {3792#true} #66#return; {3792#true} is VALID [2022-04-28 12:09:23,601 INFO L290 TraceCheckUtils]: 11: Hoare triple {3792#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3792#true} is VALID [2022-04-28 12:09:23,602 INFO L272 TraceCheckUtils]: 12: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:09:23,602 INFO L290 TraceCheckUtils]: 13: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:09:23,602 INFO L290 TraceCheckUtils]: 14: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:09:23,602 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:09:23,602 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#true} {3792#true} #68#return; {3792#true} is VALID [2022-04-28 12:09:23,602 INFO L272 TraceCheckUtils]: 17: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:09:23,602 INFO L290 TraceCheckUtils]: 18: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:09:23,602 INFO L290 TraceCheckUtils]: 19: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:09:23,602 INFO L290 TraceCheckUtils]: 20: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:09:23,602 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3792#true} {3792#true} #70#return; {3792#true} is VALID [2022-04-28 12:09:23,603 INFO L272 TraceCheckUtils]: 22: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:09:23,603 INFO L290 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3866#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:09:23,603 INFO L290 TraceCheckUtils]: 24: Hoare triple {3866#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3870#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:09:23,604 INFO L290 TraceCheckUtils]: 25: Hoare triple {3870#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3870#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:09:23,604 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3870#(not (= |assume_abort_if_not_#in~cond| 0))} {3792#true} #72#return; {3877#(<= 1 main_~y~0)} is VALID [2022-04-28 12:09:23,605 INFO L290 TraceCheckUtils]: 27: Hoare triple {3877#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:23,606 INFO L290 TraceCheckUtils]: 28: Hoare triple {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:23,606 INFO L272 TraceCheckUtils]: 29: Hoare triple {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:09:23,607 INFO L290 TraceCheckUtils]: 30: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:09:23,607 INFO L290 TraceCheckUtils]: 31: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:09:23,607 INFO L290 TraceCheckUtils]: 32: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:09:23,607 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3792#true} {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:23,608 INFO L272 TraceCheckUtils]: 34: Hoare triple {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:09:23,608 INFO L290 TraceCheckUtils]: 35: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:09:23,608 INFO L290 TraceCheckUtils]: 36: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:09:23,608 INFO L290 TraceCheckUtils]: 37: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:09:23,609 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3792#true} {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:23,609 INFO L272 TraceCheckUtils]: 39: Hoare triple {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:09:23,609 INFO L290 TraceCheckUtils]: 40: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:09:23,609 INFO L290 TraceCheckUtils]: 41: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:09:23,609 INFO L290 TraceCheckUtils]: 42: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:09:23,610 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3792#true} {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:23,610 INFO L290 TraceCheckUtils]: 44: Hoare triple {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:23,611 INFO L290 TraceCheckUtils]: 45: Hoare triple {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:09:23,611 INFO L290 TraceCheckUtils]: 46: Hoare triple {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} assume !false; {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:09:23,611 INFO L272 TraceCheckUtils]: 47: Hoare triple {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:09:23,611 INFO L290 TraceCheckUtils]: 48: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:09:23,611 INFO L290 TraceCheckUtils]: 49: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:09:23,612 INFO L290 TraceCheckUtils]: 50: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:09:23,612 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3792#true} {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} #74#return; {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:09:23,613 INFO L272 TraceCheckUtils]: 52: Hoare triple {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3958#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:09:23,613 INFO L290 TraceCheckUtils]: 53: Hoare triple {3958#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3962#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:23,614 INFO L290 TraceCheckUtils]: 54: Hoare triple {3962#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3793#false} is VALID [2022-04-28 12:09:23,614 INFO L290 TraceCheckUtils]: 55: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2022-04-28 12:09:23,614 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 17 proven. 3 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 12:09:23,614 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:09:23,892 INFO L290 TraceCheckUtils]: 55: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2022-04-28 12:09:23,893 INFO L290 TraceCheckUtils]: 54: Hoare triple {3962#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3793#false} is VALID [2022-04-28 12:09:23,893 INFO L290 TraceCheckUtils]: 53: Hoare triple {3958#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3962#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:23,894 INFO L272 TraceCheckUtils]: 52: Hoare triple {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3958#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:09:23,895 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3792#true} {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:23,895 INFO L290 TraceCheckUtils]: 50: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:09:23,895 INFO L290 TraceCheckUtils]: 49: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:09:23,895 INFO L290 TraceCheckUtils]: 48: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:09:23,895 INFO L272 TraceCheckUtils]: 47: Hoare triple {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:09:23,895 INFO L290 TraceCheckUtils]: 46: Hoare triple {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:24,206 INFO L290 TraceCheckUtils]: 45: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:09:24,207 INFO L290 TraceCheckUtils]: 44: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:09:24,207 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3792#true} {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #78#return; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:09:24,208 INFO L290 TraceCheckUtils]: 42: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:09:24,208 INFO L290 TraceCheckUtils]: 41: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:09:24,208 INFO L290 TraceCheckUtils]: 40: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:09:24,208 INFO L272 TraceCheckUtils]: 39: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:09:24,209 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3792#true} {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #76#return; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:09:24,209 INFO L290 TraceCheckUtils]: 37: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:09:24,209 INFO L290 TraceCheckUtils]: 36: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:09:24,209 INFO L290 TraceCheckUtils]: 35: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:09:24,209 INFO L272 TraceCheckUtils]: 34: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:09:24,210 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3792#true} {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #74#return; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:09:24,210 INFO L290 TraceCheckUtils]: 32: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:09:24,210 INFO L290 TraceCheckUtils]: 31: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:09:24,210 INFO L290 TraceCheckUtils]: 30: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:09:24,210 INFO L272 TraceCheckUtils]: 29: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:09:24,211 INFO L290 TraceCheckUtils]: 28: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !false; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:09:24,211 INFO L290 TraceCheckUtils]: 27: Hoare triple {3792#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:09:24,212 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3792#true} {3792#true} #72#return; {3792#true} is VALID [2022-04-28 12:09:24,212 INFO L290 TraceCheckUtils]: 25: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:09:24,212 INFO L290 TraceCheckUtils]: 24: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:09:24,212 INFO L290 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:09:24,212 INFO L272 TraceCheckUtils]: 22: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:09:24,212 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3792#true} {3792#true} #70#return; {3792#true} is VALID [2022-04-28 12:09:24,212 INFO L290 TraceCheckUtils]: 20: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:09:24,212 INFO L290 TraceCheckUtils]: 19: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:09:24,212 INFO L290 TraceCheckUtils]: 18: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:09:24,212 INFO L272 TraceCheckUtils]: 17: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:09:24,213 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#true} {3792#true} #68#return; {3792#true} is VALID [2022-04-28 12:09:24,213 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:09:24,213 INFO L290 TraceCheckUtils]: 14: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:09:24,213 INFO L290 TraceCheckUtils]: 13: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:09:24,213 INFO L272 TraceCheckUtils]: 12: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:09:24,213 INFO L290 TraceCheckUtils]: 11: Hoare triple {3792#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3792#true} is VALID [2022-04-28 12:09:24,213 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#true} {3792#true} #66#return; {3792#true} is VALID [2022-04-28 12:09:24,213 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:09:24,213 INFO L290 TraceCheckUtils]: 8: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 12:09:24,213 INFO L290 TraceCheckUtils]: 7: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 12:09:24,213 INFO L272 TraceCheckUtils]: 6: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {3792#true} is VALID [2022-04-28 12:09:24,214 INFO L290 TraceCheckUtils]: 5: Hoare triple {3792#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3792#true} is VALID [2022-04-28 12:09:24,214 INFO L272 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret6 := main(); {3792#true} is VALID [2022-04-28 12:09:24,214 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #88#return; {3792#true} is VALID [2022-04-28 12:09:24,214 INFO L290 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 12:09:24,214 INFO L290 TraceCheckUtils]: 1: Hoare triple {3792#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(10, 2);call #Ultimate.allocInit(12, 3); {3792#true} is VALID [2022-04-28 12:09:24,214 INFO L272 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2022-04-28 12:09:24,214 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:09:24,214 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:09:24,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1259832395] [2022-04-28 12:09:24,215 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:09:24,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [796091322] [2022-04-28 12:09:24,215 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [796091322] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:09:24,215 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:09:24,215 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 6] total 11 [2022-04-28 12:09:24,215 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:09:24,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1247988054] [2022-04-28 12:09:24,215 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1247988054] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:09:24,216 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:09:24,216 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:09:24,216 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [994351072] [2022-04-28 12:09:24,216 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:09:24,216 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 56 [2022-04-28 12:09:24,217 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:09:24,217 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:09:24,249 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:24,249 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:09:24,249 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:24,250 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:09:24,250 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:09:24,250 INFO L87 Difference]: Start difference. First operand 84 states and 105 transitions. Second operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:09:25,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:25,224 INFO L93 Difference]: Finished difference Result 118 states and 147 transitions. [2022-04-28 12:09:25,225 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:09:25,225 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 56 [2022-04-28 12:09:25,225 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:09:25,225 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:09:25,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 75 transitions. [2022-04-28 12:09:25,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:09:25,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 75 transitions. [2022-04-28 12:09:25,229 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 75 transitions. [2022-04-28 12:09:25,303 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:25,306 INFO L225 Difference]: With dead ends: 118 [2022-04-28 12:09:25,306 INFO L226 Difference]: Without dead ends: 116 [2022-04-28 12:09:25,307 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 101 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:09:25,307 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 19 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 232 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 242 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 232 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:09:25,307 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 184 Invalid, 242 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 232 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 12:09:25,308 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-28 12:09:25,385 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 112. [2022-04-28 12:09:25,386 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:09:25,386 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:09:25,393 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:09:25,396 INFO L87 Difference]: Start difference. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:09:25,400 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:25,400 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-28 12:09:25,400 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-28 12:09:25,401 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:25,401 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:25,402 INFO L74 IsIncluded]: Start isIncluded. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-28 12:09:25,403 INFO L87 Difference]: Start difference. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-28 12:09:25,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:25,407 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-28 12:09:25,407 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-28 12:09:25,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:25,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:25,408 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:09:25,408 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:09:25,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:09:25,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 138 transitions. [2022-04-28 12:09:25,412 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 138 transitions. Word has length 56 [2022-04-28 12:09:25,412 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:09:25,412 INFO L495 AbstractCegarLoop]: Abstraction has 112 states and 138 transitions. [2022-04-28 12:09:25,414 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:09:25,414 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 138 transitions. [2022-04-28 12:09:25,595 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:25,595 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 138 transitions. [2022-04-28 12:09:25,596 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 12:09:25,596 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:09:25,596 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 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] [2022-04-28 12:09:25,613 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-28 12:09:25,799 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:09:25,800 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:09:25,800 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:09:25,800 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 1 times [2022-04-28 12:09:25,800 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:25,800 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [945341350] [2022-04-28 12:09:25,800 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:09:25,801 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 2 times [2022-04-28 12:09:25,801 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:09:25,801 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1065214166] [2022-04-28 12:09:25,801 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:09:25,801 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:09:25,814 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:09:25,814 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [918194671] [2022-04-28 12:09:25,815 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:09:25,815 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:09:25,815 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:09:25,816 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-28 12:09:25,834 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-28 12:09:25,886 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:09:25,886 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:09:25,887 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 12:09:25,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:09:25,899 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:09:26,248 INFO L272 TraceCheckUtils]: 0: Hoare triple {4834#true} call ULTIMATE.init(); {4834#true} is VALID [2022-04-28 12:09:26,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {4834#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(10, 2);call #Ultimate.allocInit(12, 3); {4834#true} is VALID [2022-04-28 12:09:26,249 INFO L290 TraceCheckUtils]: 2: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,249 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4834#true} {4834#true} #88#return; {4834#true} is VALID [2022-04-28 12:09:26,249 INFO L272 TraceCheckUtils]: 4: Hoare triple {4834#true} call #t~ret6 := main(); {4834#true} is VALID [2022-04-28 12:09:26,249 INFO L290 TraceCheckUtils]: 5: Hoare triple {4834#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4834#true} is VALID [2022-04-28 12:09:26,249 INFO L272 TraceCheckUtils]: 6: Hoare triple {4834#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:09:26,249 INFO L290 TraceCheckUtils]: 7: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:09:26,249 INFO L290 TraceCheckUtils]: 8: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:09:26,249 INFO L290 TraceCheckUtils]: 9: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,249 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4834#true} {4834#true} #66#return; {4834#true} is VALID [2022-04-28 12:09:26,250 INFO L290 TraceCheckUtils]: 11: Hoare triple {4834#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4834#true} is VALID [2022-04-28 12:09:26,250 INFO L272 TraceCheckUtils]: 12: Hoare triple {4834#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:09:26,254 INFO L290 TraceCheckUtils]: 13: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:09:26,254 INFO L290 TraceCheckUtils]: 14: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:09:26,257 INFO L290 TraceCheckUtils]: 15: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,257 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4834#true} {4834#true} #68#return; {4834#true} is VALID [2022-04-28 12:09:26,257 INFO L272 TraceCheckUtils]: 17: Hoare triple {4834#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:09:26,257 INFO L290 TraceCheckUtils]: 18: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:09:26,257 INFO L290 TraceCheckUtils]: 19: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:09:26,258 INFO L290 TraceCheckUtils]: 20: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,258 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4834#true} {4834#true} #70#return; {4834#true} is VALID [2022-04-28 12:09:26,258 INFO L272 TraceCheckUtils]: 22: Hoare triple {4834#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:09:26,258 INFO L290 TraceCheckUtils]: 23: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:09:26,258 INFO L290 TraceCheckUtils]: 24: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:09:26,258 INFO L290 TraceCheckUtils]: 25: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,258 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4834#true} {4834#true} #72#return; {4834#true} is VALID [2022-04-28 12:09:26,259 INFO L290 TraceCheckUtils]: 27: Hoare triple {4834#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:26,259 INFO L290 TraceCheckUtils]: 28: Hoare triple {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:26,259 INFO L272 TraceCheckUtils]: 29: Hoare triple {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:09:26,259 INFO L290 TraceCheckUtils]: 30: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:09:26,260 INFO L290 TraceCheckUtils]: 31: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:09:26,260 INFO L290 TraceCheckUtils]: 32: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,261 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4834#true} {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:26,261 INFO L272 TraceCheckUtils]: 34: Hoare triple {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:09:26,261 INFO L290 TraceCheckUtils]: 35: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:09:26,261 INFO L290 TraceCheckUtils]: 36: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:09:26,261 INFO L290 TraceCheckUtils]: 37: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,262 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4834#true} {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:26,262 INFO L272 TraceCheckUtils]: 39: Hoare triple {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:09:26,262 INFO L290 TraceCheckUtils]: 40: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:09:26,262 INFO L290 TraceCheckUtils]: 41: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:09:26,262 INFO L290 TraceCheckUtils]: 42: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,263 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4834#true} {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:26,263 INFO L290 TraceCheckUtils]: 44: Hoare triple {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:26,264 INFO L290 TraceCheckUtils]: 45: Hoare triple {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 12:09:26,265 INFO L290 TraceCheckUtils]: 46: Hoare triple {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} assume !false; {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 12:09:26,265 INFO L272 TraceCheckUtils]: 47: Hoare triple {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:09:26,265 INFO L290 TraceCheckUtils]: 48: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:09:26,265 INFO L290 TraceCheckUtils]: 49: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:09:26,265 INFO L290 TraceCheckUtils]: 50: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,266 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4834#true} {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #74#return; {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 12:09:26,266 INFO L272 TraceCheckUtils]: 52: Hoare triple {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:09:26,266 INFO L290 TraceCheckUtils]: 53: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:09:26,266 INFO L290 TraceCheckUtils]: 54: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:09:26,266 INFO L290 TraceCheckUtils]: 55: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,267 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4834#true} {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #76#return; {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 12:09:26,268 INFO L272 TraceCheckUtils]: 57: Hoare triple {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5012#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:09:26,268 INFO L290 TraceCheckUtils]: 58: Hoare triple {5012#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5016#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:26,268 INFO L290 TraceCheckUtils]: 59: Hoare triple {5016#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4835#false} is VALID [2022-04-28 12:09:26,269 INFO L290 TraceCheckUtils]: 60: Hoare triple {4835#false} assume !false; {4835#false} is VALID [2022-04-28 12:09:26,287 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 12:09:26,287 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:09:26,556 INFO L290 TraceCheckUtils]: 60: Hoare triple {4835#false} assume !false; {4835#false} is VALID [2022-04-28 12:09:26,556 INFO L290 TraceCheckUtils]: 59: Hoare triple {5016#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4835#false} is VALID [2022-04-28 12:09:26,557 INFO L290 TraceCheckUtils]: 58: Hoare triple {5012#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5016#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:26,558 INFO L272 TraceCheckUtils]: 57: Hoare triple {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5012#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:09:26,558 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4834#true} {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:09:26,559 INFO L290 TraceCheckUtils]: 55: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,559 INFO L290 TraceCheckUtils]: 54: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:09:26,559 INFO L290 TraceCheckUtils]: 53: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:09:26,559 INFO L272 TraceCheckUtils]: 52: Hoare triple {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:09:26,560 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4834#true} {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:09:26,560 INFO L290 TraceCheckUtils]: 50: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,560 INFO L290 TraceCheckUtils]: 49: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:09:26,560 INFO L290 TraceCheckUtils]: 48: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:09:26,560 INFO L272 TraceCheckUtils]: 47: Hoare triple {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:09:26,560 INFO L290 TraceCheckUtils]: 46: Hoare triple {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:09:26,755 INFO L290 TraceCheckUtils]: 45: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:09:26,756 INFO L290 TraceCheckUtils]: 44: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:09:26,756 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4834#true} {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #78#return; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:09:26,756 INFO L290 TraceCheckUtils]: 42: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,756 INFO L290 TraceCheckUtils]: 41: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:09:26,756 INFO L290 TraceCheckUtils]: 40: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:09:26,757 INFO L272 TraceCheckUtils]: 39: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:09:26,757 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4834#true} {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #76#return; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:09:26,757 INFO L290 TraceCheckUtils]: 37: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,757 INFO L290 TraceCheckUtils]: 36: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:09:26,758 INFO L290 TraceCheckUtils]: 35: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:09:26,758 INFO L272 TraceCheckUtils]: 34: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:09:26,758 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4834#true} {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #74#return; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:09:26,759 INFO L290 TraceCheckUtils]: 32: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,759 INFO L290 TraceCheckUtils]: 31: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:09:26,759 INFO L290 TraceCheckUtils]: 30: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:09:26,759 INFO L272 TraceCheckUtils]: 29: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:09:26,759 INFO L290 TraceCheckUtils]: 28: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !false; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:09:26,760 INFO L290 TraceCheckUtils]: 27: Hoare triple {4834#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:09:26,760 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4834#true} {4834#true} #72#return; {4834#true} is VALID [2022-04-28 12:09:26,760 INFO L290 TraceCheckUtils]: 25: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,760 INFO L290 TraceCheckUtils]: 24: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:09:26,760 INFO L290 TraceCheckUtils]: 23: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:09:26,760 INFO L272 TraceCheckUtils]: 22: Hoare triple {4834#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:09:26,760 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4834#true} {4834#true} #70#return; {4834#true} is VALID [2022-04-28 12:09:26,761 INFO L290 TraceCheckUtils]: 20: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,761 INFO L290 TraceCheckUtils]: 19: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:09:26,761 INFO L290 TraceCheckUtils]: 18: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:09:26,761 INFO L272 TraceCheckUtils]: 17: Hoare triple {4834#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:09:26,761 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4834#true} {4834#true} #68#return; {4834#true} is VALID [2022-04-28 12:09:26,761 INFO L290 TraceCheckUtils]: 15: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,761 INFO L290 TraceCheckUtils]: 14: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:09:26,761 INFO L290 TraceCheckUtils]: 13: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:09:26,761 INFO L272 TraceCheckUtils]: 12: Hoare triple {4834#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:09:26,761 INFO L290 TraceCheckUtils]: 11: Hoare triple {4834#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4834#true} is VALID [2022-04-28 12:09:26,761 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4834#true} {4834#true} #66#return; {4834#true} is VALID [2022-04-28 12:09:26,761 INFO L290 TraceCheckUtils]: 9: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,762 INFO L290 TraceCheckUtils]: 8: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 12:09:26,762 INFO L290 TraceCheckUtils]: 7: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 12:09:26,762 INFO L272 TraceCheckUtils]: 6: Hoare triple {4834#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {4834#true} is VALID [2022-04-28 12:09:26,762 INFO L290 TraceCheckUtils]: 5: Hoare triple {4834#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4834#true} is VALID [2022-04-28 12:09:26,762 INFO L272 TraceCheckUtils]: 4: Hoare triple {4834#true} call #t~ret6 := main(); {4834#true} is VALID [2022-04-28 12:09:26,762 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4834#true} {4834#true} #88#return; {4834#true} is VALID [2022-04-28 12:09:26,762 INFO L290 TraceCheckUtils]: 2: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 12:09:26,762 INFO L290 TraceCheckUtils]: 1: Hoare triple {4834#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(10, 2);call #Ultimate.allocInit(12, 3); {4834#true} is VALID [2022-04-28 12:09:26,762 INFO L272 TraceCheckUtils]: 0: Hoare triple {4834#true} call ULTIMATE.init(); {4834#true} is VALID [2022-04-28 12:09:26,763 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 12:09:26,763 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:09:26,763 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1065214166] [2022-04-28 12:09:26,763 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:09:26,763 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [918194671] [2022-04-28 12:09:26,763 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [918194671] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:09:26,763 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:09:26,763 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-28 12:09:26,764 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:09:26,764 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [945341350] [2022-04-28 12:09:26,764 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [945341350] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:09:26,764 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:09:26,764 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:09:26,764 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1793104913] [2022-04-28 12:09:26,764 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:09:26,764 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-28 12:09:26,765 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:09:26,765 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:09:26,802 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-28 12:09:26,802 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:09:26,802 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:26,803 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:09:26,803 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:09:26,803 INFO L87 Difference]: Start difference. First operand 112 states and 138 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:09:27,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:27,314 INFO L93 Difference]: Finished difference Result 137 states and 178 transitions. [2022-04-28 12:09:27,314 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:09:27,314 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-28 12:09:27,314 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:09:27,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:09:27,316 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-28 12:09:27,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:09:27,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-28 12:09:27,318 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-28 12:09:27,399 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:27,402 INFO L225 Difference]: With dead ends: 137 [2022-04-28 12:09:27,402 INFO L226 Difference]: Without dead ends: 131 [2022-04-28 12:09:27,402 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 114 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:09:27,403 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 120 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:09:27,403 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 160 Invalid, 120 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:09:27,403 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-28 12:09:27,484 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2022-04-28 12:09:27,485 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:09:27,485 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 12:09:27,486 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 12:09:27,486 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 12:09:27,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:27,492 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-28 12:09:27,492 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-28 12:09:27,493 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:27,493 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:27,494 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-28 12:09:27,494 INFO L87 Difference]: Start difference. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-28 12:09:27,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:27,499 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-28 12:09:27,499 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-28 12:09:27,499 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:27,499 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:27,500 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:09:27,500 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:09:27,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 12:09:27,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 167 transitions. [2022-04-28 12:09:27,504 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 167 transitions. Word has length 61 [2022-04-28 12:09:27,504 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:09:27,504 INFO L495 AbstractCegarLoop]: Abstraction has 131 states and 167 transitions. [2022-04-28 12:09:27,505 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:09:27,505 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 167 transitions. [2022-04-28 12:09:27,720 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:27,720 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-28 12:09:27,721 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 12:09:27,721 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:09:27,721 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:09:27,738 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-28 12:09:27,921 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-28 12:09:27,921 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:09:27,922 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:09:27,922 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 1 times [2022-04-28 12:09:27,922 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:27,922 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [113230821] [2022-04-28 12:09:27,923 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:09:27,923 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 2 times [2022-04-28 12:09:27,923 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:09:27,923 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [632639417] [2022-04-28 12:09:27,923 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:09:27,923 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:09:27,949 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:09:27,949 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1663632141] [2022-04-28 12:09:27,949 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:09:27,949 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:09:27,949 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:09:27,957 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-28 12:09:27,958 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-28 12:09:28,007 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:09:28,007 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:09:28,008 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 12:09:28,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:09:28,023 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:09:28,379 INFO L272 TraceCheckUtils]: 0: Hoare triple {6007#true} call ULTIMATE.init(); {6007#true} is VALID [2022-04-28 12:09:28,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {6007#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(10, 2);call #Ultimate.allocInit(12, 3); {6007#true} is VALID [2022-04-28 12:09:28,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,379 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6007#true} {6007#true} #88#return; {6007#true} is VALID [2022-04-28 12:09:28,379 INFO L272 TraceCheckUtils]: 4: Hoare triple {6007#true} call #t~ret6 := main(); {6007#true} is VALID [2022-04-28 12:09:28,380 INFO L290 TraceCheckUtils]: 5: Hoare triple {6007#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6007#true} is VALID [2022-04-28 12:09:28,380 INFO L272 TraceCheckUtils]: 6: Hoare triple {6007#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,380 INFO L290 TraceCheckUtils]: 7: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,380 INFO L290 TraceCheckUtils]: 8: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,380 INFO L290 TraceCheckUtils]: 9: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,380 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6007#true} {6007#true} #66#return; {6007#true} is VALID [2022-04-28 12:09:28,380 INFO L290 TraceCheckUtils]: 11: Hoare triple {6007#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6007#true} is VALID [2022-04-28 12:09:28,380 INFO L272 TraceCheckUtils]: 12: Hoare triple {6007#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,380 INFO L290 TraceCheckUtils]: 13: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,380 INFO L290 TraceCheckUtils]: 14: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,380 INFO L290 TraceCheckUtils]: 15: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,381 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6007#true} {6007#true} #68#return; {6007#true} is VALID [2022-04-28 12:09:28,381 INFO L272 TraceCheckUtils]: 17: Hoare triple {6007#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,381 INFO L290 TraceCheckUtils]: 18: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,381 INFO L290 TraceCheckUtils]: 19: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,381 INFO L290 TraceCheckUtils]: 20: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,381 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6007#true} {6007#true} #70#return; {6007#true} is VALID [2022-04-28 12:09:28,381 INFO L272 TraceCheckUtils]: 22: Hoare triple {6007#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,381 INFO L290 TraceCheckUtils]: 23: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,381 INFO L290 TraceCheckUtils]: 24: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,381 INFO L290 TraceCheckUtils]: 25: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,381 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6007#true} {6007#true} #72#return; {6007#true} is VALID [2022-04-28 12:09:28,383 INFO L290 TraceCheckUtils]: 27: Hoare triple {6007#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:28,384 INFO L290 TraceCheckUtils]: 28: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:28,384 INFO L272 TraceCheckUtils]: 29: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,384 INFO L290 TraceCheckUtils]: 30: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,384 INFO L290 TraceCheckUtils]: 31: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,384 INFO L290 TraceCheckUtils]: 32: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,385 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6007#true} {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:28,385 INFO L272 TraceCheckUtils]: 34: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,385 INFO L290 TraceCheckUtils]: 35: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,385 INFO L290 TraceCheckUtils]: 36: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,385 INFO L290 TraceCheckUtils]: 37: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,386 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6007#true} {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:28,386 INFO L272 TraceCheckUtils]: 39: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,386 INFO L290 TraceCheckUtils]: 40: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,387 INFO L290 TraceCheckUtils]: 41: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,387 INFO L290 TraceCheckUtils]: 42: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,387 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6007#true} {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:28,388 INFO L290 TraceCheckUtils]: 44: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:28,388 INFO L290 TraceCheckUtils]: 45: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:09:28,389 INFO L290 TraceCheckUtils]: 46: Hoare triple {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !false; {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:09:28,389 INFO L272 TraceCheckUtils]: 47: Hoare triple {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,389 INFO L290 TraceCheckUtils]: 48: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,389 INFO L290 TraceCheckUtils]: 49: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,389 INFO L290 TraceCheckUtils]: 50: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,390 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6007#true} {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #74#return; {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:09:28,390 INFO L272 TraceCheckUtils]: 52: Hoare triple {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,390 INFO L290 TraceCheckUtils]: 53: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,390 INFO L290 TraceCheckUtils]: 54: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,390 INFO L290 TraceCheckUtils]: 55: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,391 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6007#true} {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #76#return; {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:09:28,391 INFO L272 TraceCheckUtils]: 57: Hoare triple {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,391 INFO L290 TraceCheckUtils]: 58: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,391 INFO L290 TraceCheckUtils]: 59: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,391 INFO L290 TraceCheckUtils]: 60: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,392 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6007#true} {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #78#return; {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:09:28,393 INFO L290 TraceCheckUtils]: 62: Hoare triple {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:09:28,393 INFO L290 TraceCheckUtils]: 63: Hoare triple {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6203#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:09:28,394 INFO L290 TraceCheckUtils]: 64: Hoare triple {6203#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !false; {6203#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:09:28,395 INFO L272 TraceCheckUtils]: 65: Hoare triple {6203#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6210#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:09:28,395 INFO L290 TraceCheckUtils]: 66: Hoare triple {6210#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6214#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:28,395 INFO L290 TraceCheckUtils]: 67: Hoare triple {6214#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6008#false} is VALID [2022-04-28 12:09:28,396 INFO L290 TraceCheckUtils]: 68: Hoare triple {6008#false} assume !false; {6008#false} is VALID [2022-04-28 12:09:28,396 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 10 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 12:09:28,396 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:09:28,654 INFO L290 TraceCheckUtils]: 68: Hoare triple {6008#false} assume !false; {6008#false} is VALID [2022-04-28 12:09:28,654 INFO L290 TraceCheckUtils]: 67: Hoare triple {6214#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6008#false} is VALID [2022-04-28 12:09:28,655 INFO L290 TraceCheckUtils]: 66: Hoare triple {6210#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6214#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:28,655 INFO L272 TraceCheckUtils]: 65: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6210#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:09:28,656 INFO L290 TraceCheckUtils]: 64: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:09:28,659 INFO L290 TraceCheckUtils]: 63: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:09:28,659 INFO L290 TraceCheckUtils]: 62: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:09:28,660 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #78#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:09:28,660 INFO L290 TraceCheckUtils]: 60: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,660 INFO L290 TraceCheckUtils]: 59: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,660 INFO L290 TraceCheckUtils]: 58: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,660 INFO L272 TraceCheckUtils]: 57: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,661 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #76#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:09:28,661 INFO L290 TraceCheckUtils]: 55: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,661 INFO L290 TraceCheckUtils]: 54: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,661 INFO L290 TraceCheckUtils]: 53: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,661 INFO L272 TraceCheckUtils]: 52: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,661 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #74#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:09:28,661 INFO L290 TraceCheckUtils]: 50: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,661 INFO L290 TraceCheckUtils]: 49: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,662 INFO L290 TraceCheckUtils]: 48: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,662 INFO L272 TraceCheckUtils]: 47: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,662 INFO L290 TraceCheckUtils]: 46: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:09:28,664 INFO L290 TraceCheckUtils]: 45: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:09:28,664 INFO L290 TraceCheckUtils]: 44: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:09:28,665 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #78#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:09:28,665 INFO L290 TraceCheckUtils]: 42: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,665 INFO L290 TraceCheckUtils]: 41: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,665 INFO L290 TraceCheckUtils]: 40: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,665 INFO L272 TraceCheckUtils]: 39: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,666 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #76#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:09:28,666 INFO L290 TraceCheckUtils]: 37: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,666 INFO L290 TraceCheckUtils]: 36: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,666 INFO L290 TraceCheckUtils]: 35: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,666 INFO L272 TraceCheckUtils]: 34: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,667 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #74#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:09:28,667 INFO L290 TraceCheckUtils]: 32: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,667 INFO L290 TraceCheckUtils]: 31: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,667 INFO L290 TraceCheckUtils]: 30: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,667 INFO L272 TraceCheckUtils]: 29: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,667 INFO L290 TraceCheckUtils]: 28: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:09:28,668 INFO L290 TraceCheckUtils]: 27: Hoare triple {6007#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 12:09:28,668 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6007#true} {6007#true} #72#return; {6007#true} is VALID [2022-04-28 12:09:28,668 INFO L290 TraceCheckUtils]: 25: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,668 INFO L290 TraceCheckUtils]: 24: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,668 INFO L290 TraceCheckUtils]: 23: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,668 INFO L272 TraceCheckUtils]: 22: Hoare triple {6007#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,668 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6007#true} {6007#true} #70#return; {6007#true} is VALID [2022-04-28 12:09:28,668 INFO L290 TraceCheckUtils]: 20: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,668 INFO L290 TraceCheckUtils]: 19: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,668 INFO L290 TraceCheckUtils]: 18: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,668 INFO L272 TraceCheckUtils]: 17: Hoare triple {6007#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,668 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6007#true} {6007#true} #68#return; {6007#true} is VALID [2022-04-28 12:09:28,668 INFO L290 TraceCheckUtils]: 15: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,668 INFO L290 TraceCheckUtils]: 14: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,668 INFO L290 TraceCheckUtils]: 13: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,668 INFO L272 TraceCheckUtils]: 12: Hoare triple {6007#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,668 INFO L290 TraceCheckUtils]: 11: Hoare triple {6007#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6007#true} is VALID [2022-04-28 12:09:28,669 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6007#true} {6007#true} #66#return; {6007#true} is VALID [2022-04-28 12:09:28,669 INFO L290 TraceCheckUtils]: 9: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,669 INFO L290 TraceCheckUtils]: 8: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 12:09:28,669 INFO L290 TraceCheckUtils]: 7: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 12:09:28,669 INFO L272 TraceCheckUtils]: 6: Hoare triple {6007#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {6007#true} is VALID [2022-04-28 12:09:28,669 INFO L290 TraceCheckUtils]: 5: Hoare triple {6007#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6007#true} is VALID [2022-04-28 12:09:28,669 INFO L272 TraceCheckUtils]: 4: Hoare triple {6007#true} call #t~ret6 := main(); {6007#true} is VALID [2022-04-28 12:09:28,669 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6007#true} {6007#true} #88#return; {6007#true} is VALID [2022-04-28 12:09:28,669 INFO L290 TraceCheckUtils]: 2: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 12:09:28,669 INFO L290 TraceCheckUtils]: 1: Hoare triple {6007#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(10, 2);call #Ultimate.allocInit(12, 3); {6007#true} is VALID [2022-04-28 12:09:28,669 INFO L272 TraceCheckUtils]: 0: Hoare triple {6007#true} call ULTIMATE.init(); {6007#true} is VALID [2022-04-28 12:09:28,669 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 94 trivial. 0 not checked. [2022-04-28 12:09:28,669 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:09:28,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [632639417] [2022-04-28 12:09:28,669 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:09:28,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1663632141] [2022-04-28 12:09:28,670 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1663632141] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:09:28,670 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:09:28,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-28 12:09:28,670 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:09:28,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [113230821] [2022-04-28 12:09:28,670 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [113230821] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:09:28,670 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:09:28,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:09:28,670 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [312285764] [2022-04-28 12:09:28,670 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:09:28,671 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 69 [2022-04-28 12:09:28,671 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:09:28,671 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:09:28,700 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:28,700 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:09:28,700 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:28,700 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:09:28,701 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:09:28,701 INFO L87 Difference]: Start difference. First operand 131 states and 167 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:09:28,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:28,961 INFO L93 Difference]: Finished difference Result 137 states and 172 transitions. [2022-04-28 12:09:28,961 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:09:28,961 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 69 [2022-04-28 12:09:28,961 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:09:28,961 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:09:28,963 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-28 12:09:28,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:09:28,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-28 12:09:28,964 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-28 12:09:29,005 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:29,008 INFO L225 Difference]: With dead ends: 137 [2022-04-28 12:09:29,008 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 12:09:29,009 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 138 GetRequests, 128 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:09:29,009 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 6 mSDsluCounter, 80 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 116 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.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:09:29,009 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 116 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:09:29,010 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 12:09:29,092 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-28 12:09:29,092 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:09:29,092 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:09:29,092 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:09:29,093 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:09:29,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:29,096 INFO L93 Difference]: Finished difference Result 132 states and 164 transitions. [2022-04-28 12:09:29,096 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-28 12:09:29,096 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:29,096 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:29,097 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 132 states. [2022-04-28 12:09:29,097 INFO L87 Difference]: Start difference. First operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 132 states. [2022-04-28 12:09:29,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:09:29,101 INFO L93 Difference]: Finished difference Result 132 states and 164 transitions. [2022-04-28 12:09:29,101 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-28 12:09:29,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:09:29,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:09:29,101 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:09:29,101 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:09:29,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 12:09:29,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 164 transitions. [2022-04-28 12:09:29,105 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 164 transitions. Word has length 69 [2022-04-28 12:09:29,105 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:09:29,105 INFO L495 AbstractCegarLoop]: Abstraction has 132 states and 164 transitions. [2022-04-28 12:09:29,105 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:09:29,106 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 164 transitions. [2022-04-28 12:09:29,334 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 164 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:09:29,334 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-28 12:09:29,335 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-28 12:09:29,335 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:09:29,335 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:09:29,354 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-28 12:09:29,544 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-28 12:09:29,544 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:09:29,545 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:09:29,545 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 5 times [2022-04-28 12:09:29,545 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:09:29,545 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2140725047] [2022-04-28 12:09:29,545 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:09:29,545 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 6 times [2022-04-28 12:09:29,545 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:09:29,545 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2003073819] [2022-04-28 12:09:29,545 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:09:29,546 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:09:29,562 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:09:29,563 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1580683151] [2022-04-28 12:09:29,563 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:09:29,563 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:09:29,564 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:09:29,564 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-28 12:09:29,566 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-28 12:09:29,640 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:09:29,640 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:09:29,642 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 12:09:29,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:09:29,656 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:09:30,187 INFO L272 TraceCheckUtils]: 0: Hoare triple {7232#true} call ULTIMATE.init(); {7232#true} is VALID [2022-04-28 12:09:30,188 INFO L290 TraceCheckUtils]: 1: Hoare triple {7232#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(10, 2);call #Ultimate.allocInit(12, 3); {7232#true} is VALID [2022-04-28 12:09:30,188 INFO L290 TraceCheckUtils]: 2: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:09:30,188 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7232#true} {7232#true} #88#return; {7232#true} is VALID [2022-04-28 12:09:30,188 INFO L272 TraceCheckUtils]: 4: Hoare triple {7232#true} call #t~ret6 := main(); {7232#true} is VALID [2022-04-28 12:09:30,188 INFO L290 TraceCheckUtils]: 5: Hoare triple {7232#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7232#true} is VALID [2022-04-28 12:09:30,188 INFO L272 TraceCheckUtils]: 6: Hoare triple {7232#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:09:30,188 INFO L290 TraceCheckUtils]: 7: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:09:30,188 INFO L290 TraceCheckUtils]: 8: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:09:30,188 INFO L290 TraceCheckUtils]: 9: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:09:30,188 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7232#true} {7232#true} #66#return; {7232#true} is VALID [2022-04-28 12:09:30,188 INFO L290 TraceCheckUtils]: 11: Hoare triple {7232#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7232#true} is VALID [2022-04-28 12:09:30,188 INFO L272 TraceCheckUtils]: 12: Hoare triple {7232#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:09:30,189 INFO L290 TraceCheckUtils]: 13: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:09:30,189 INFO L290 TraceCheckUtils]: 14: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:09:30,189 INFO L290 TraceCheckUtils]: 15: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:09:30,189 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7232#true} {7232#true} #68#return; {7232#true} is VALID [2022-04-28 12:09:30,189 INFO L272 TraceCheckUtils]: 17: Hoare triple {7232#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:09:30,189 INFO L290 TraceCheckUtils]: 18: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:09:30,189 INFO L290 TraceCheckUtils]: 19: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:09:30,189 INFO L290 TraceCheckUtils]: 20: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:09:30,189 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7232#true} {7232#true} #70#return; {7232#true} is VALID [2022-04-28 12:09:30,189 INFO L272 TraceCheckUtils]: 22: Hoare triple {7232#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:09:30,189 INFO L290 TraceCheckUtils]: 23: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:09:30,190 INFO L290 TraceCheckUtils]: 24: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:09:30,190 INFO L290 TraceCheckUtils]: 25: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:09:30,190 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7232#true} {7232#true} #72#return; {7232#true} is VALID [2022-04-28 12:09:30,191 INFO L290 TraceCheckUtils]: 27: Hoare triple {7232#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:30,192 INFO L290 TraceCheckUtils]: 28: Hoare triple {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:30,192 INFO L272 TraceCheckUtils]: 29: Hoare triple {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:09:30,192 INFO L290 TraceCheckUtils]: 30: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:09:30,192 INFO L290 TraceCheckUtils]: 31: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:09:30,192 INFO L290 TraceCheckUtils]: 32: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:09:30,193 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7232#true} {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:30,193 INFO L272 TraceCheckUtils]: 34: Hoare triple {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:09:30,193 INFO L290 TraceCheckUtils]: 35: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:09:30,193 INFO L290 TraceCheckUtils]: 36: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:09:30,194 INFO L290 TraceCheckUtils]: 37: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:09:30,194 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7232#true} {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:30,195 INFO L272 TraceCheckUtils]: 39: Hoare triple {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:09:30,195 INFO L290 TraceCheckUtils]: 40: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:09:30,195 INFO L290 TraceCheckUtils]: 41: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:09:30,195 INFO L290 TraceCheckUtils]: 42: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:09:30,196 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7232#true} {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:30,196 INFO L290 TraceCheckUtils]: 44: Hoare triple {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:30,197 INFO L290 TraceCheckUtils]: 45: Hoare triple {7318#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:09:30,197 INFO L290 TraceCheckUtils]: 46: Hoare triple {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:09:30,197 INFO L272 TraceCheckUtils]: 47: Hoare triple {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:09:30,198 INFO L290 TraceCheckUtils]: 48: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:09:30,198 INFO L290 TraceCheckUtils]: 49: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:09:30,198 INFO L290 TraceCheckUtils]: 50: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:09:30,199 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7232#true} {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #74#return; {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:09:30,199 INFO L272 TraceCheckUtils]: 52: Hoare triple {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:09:30,199 INFO L290 TraceCheckUtils]: 53: Hoare triple {7232#true} ~cond := #in~cond; {7398#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:30,199 INFO L290 TraceCheckUtils]: 54: Hoare triple {7398#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:30,200 INFO L290 TraceCheckUtils]: 55: Hoare triple {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:30,201 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #76#return; {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:09:30,201 INFO L272 TraceCheckUtils]: 57: Hoare triple {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:09:30,201 INFO L290 TraceCheckUtils]: 58: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:09:30,201 INFO L290 TraceCheckUtils]: 59: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:09:30,201 INFO L290 TraceCheckUtils]: 60: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:09:30,202 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7232#true} {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #78#return; {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:09:30,202 INFO L290 TraceCheckUtils]: 62: Hoare triple {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:09:30,203 INFO L290 TraceCheckUtils]: 63: Hoare triple {7373#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7430#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 12:09:30,204 INFO L290 TraceCheckUtils]: 64: Hoare triple {7430#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !false; {7430#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 12:09:30,204 INFO L272 TraceCheckUtils]: 65: Hoare triple {7430#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:09:30,204 INFO L290 TraceCheckUtils]: 66: Hoare triple {7232#true} ~cond := #in~cond; {7398#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:30,205 INFO L290 TraceCheckUtils]: 67: Hoare triple {7398#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:30,205 INFO L290 TraceCheckUtils]: 68: Hoare triple {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:09:30,206 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} {7430#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #74#return; {7449#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:09:30,207 INFO L272 TraceCheckUtils]: 70: Hoare triple {7449#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) 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)); {7453#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:09:30,207 INFO L290 TraceCheckUtils]: 71: Hoare triple {7453#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7457#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:09:30,208 INFO L290 TraceCheckUtils]: 72: Hoare triple {7457#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7233#false} is VALID [2022-04-28 12:09:30,208 INFO L290 TraceCheckUtils]: 73: Hoare triple {7233#false} assume !false; {7233#false} is VALID [2022-04-28 12:09:30,208 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 39 proven. 17 refuted. 0 times theorem prover too weak. 78 trivial. 0 not checked. [2022-04-28 12:09:30,208 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:11:34,519 INFO L290 TraceCheckUtils]: 73: Hoare triple {7233#false} assume !false; {7233#false} is VALID [2022-04-28 12:11:34,520 INFO L290 TraceCheckUtils]: 72: Hoare triple {7457#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7233#false} is VALID [2022-04-28 12:11:34,520 INFO L290 TraceCheckUtils]: 71: Hoare triple {7453#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7457#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:11:34,521 INFO L272 TraceCheckUtils]: 70: Hoare triple {7473#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7453#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:11:34,522 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} {7477#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #74#return; {7473#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:11:34,522 INFO L290 TraceCheckUtils]: 68: Hoare triple {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:34,523 INFO L290 TraceCheckUtils]: 67: Hoare triple {7487#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:34,523 INFO L290 TraceCheckUtils]: 66: Hoare triple {7232#true} ~cond := #in~cond; {7487#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:11:34,523 INFO L272 TraceCheckUtils]: 65: Hoare triple {7477#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:11:34,524 INFO L290 TraceCheckUtils]: 64: Hoare triple {7477#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {7477#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:11:35,118 INFO L290 TraceCheckUtils]: 63: Hoare triple {7497#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7477#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:11:35,125 INFO L290 TraceCheckUtils]: 62: Hoare triple {7497#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} assume !!(~a~0 != ~b~0); {7497#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-28 12:11:35,126 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7232#true} {7497#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} #78#return; {7497#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-28 12:11:35,126 INFO L290 TraceCheckUtils]: 60: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:11:35,126 INFO L290 TraceCheckUtils]: 59: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:11:35,127 INFO L290 TraceCheckUtils]: 58: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:11:35,127 INFO L272 TraceCheckUtils]: 57: Hoare triple {7497#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:11:35,128 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} {7519#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} #76#return; {7497#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-28 12:11:35,128 INFO L290 TraceCheckUtils]: 55: Hoare triple {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:35,129 INFO L290 TraceCheckUtils]: 54: Hoare triple {7487#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7402#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:35,129 INFO L290 TraceCheckUtils]: 53: Hoare triple {7232#true} ~cond := #in~cond; {7487#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:11:35,129 INFO L272 TraceCheckUtils]: 52: Hoare triple {7519#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:11:35,130 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7232#true} {7519#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} #74#return; {7519#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-28 12:11:35,130 INFO L290 TraceCheckUtils]: 50: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:11:35,130 INFO L290 TraceCheckUtils]: 49: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:11:35,130 INFO L290 TraceCheckUtils]: 48: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:11:35,130 INFO L272 TraceCheckUtils]: 47: Hoare triple {7519#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:11:35,131 INFO L290 TraceCheckUtils]: 46: Hoare triple {7519#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} assume !false; {7519#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-28 12:11:37,133 WARN L290 TraceCheckUtils]: 45: Hoare triple {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7519#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is UNKNOWN [2022-04-28 12:11:37,134 INFO L290 TraceCheckUtils]: 44: Hoare triple {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(~a~0 != ~b~0); {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 12:11:37,134 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7232#true} {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #78#return; {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 12:11:37,135 INFO L290 TraceCheckUtils]: 42: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:11:37,135 INFO L290 TraceCheckUtils]: 41: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:11:37,135 INFO L290 TraceCheckUtils]: 40: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:11:37,135 INFO L272 TraceCheckUtils]: 39: Hoare triple {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:11:37,135 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7232#true} {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #76#return; {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 12:11:37,135 INFO L290 TraceCheckUtils]: 37: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:11:37,136 INFO L290 TraceCheckUtils]: 36: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:11:37,136 INFO L290 TraceCheckUtils]: 35: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:11:37,136 INFO L272 TraceCheckUtils]: 34: Hoare triple {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:11:37,136 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7232#true} {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #74#return; {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 12:11:37,136 INFO L290 TraceCheckUtils]: 32: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:11:37,136 INFO L290 TraceCheckUtils]: 31: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:11:37,136 INFO L290 TraceCheckUtils]: 30: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:11:37,137 INFO L272 TraceCheckUtils]: 29: Hoare triple {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:11:37,137 INFO L290 TraceCheckUtils]: 28: Hoare triple {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !false; {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 12:11:37,138 INFO L290 TraceCheckUtils]: 27: Hoare triple {7232#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7553#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 12:11:37,138 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7232#true} {7232#true} #72#return; {7232#true} is VALID [2022-04-28 12:11:37,138 INFO L290 TraceCheckUtils]: 25: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:11:37,138 INFO L290 TraceCheckUtils]: 24: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:11:37,138 INFO L290 TraceCheckUtils]: 23: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:11:37,138 INFO L272 TraceCheckUtils]: 22: Hoare triple {7232#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:11:37,138 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7232#true} {7232#true} #70#return; {7232#true} is VALID [2022-04-28 12:11:37,138 INFO L290 TraceCheckUtils]: 20: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:11:37,138 INFO L290 TraceCheckUtils]: 19: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:11:37,138 INFO L290 TraceCheckUtils]: 18: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:11:37,138 INFO L272 TraceCheckUtils]: 17: Hoare triple {7232#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:11:37,138 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7232#true} {7232#true} #68#return; {7232#true} is VALID [2022-04-28 12:11:37,138 INFO L290 TraceCheckUtils]: 15: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:11:37,138 INFO L290 TraceCheckUtils]: 14: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:11:37,138 INFO L290 TraceCheckUtils]: 13: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:11:37,138 INFO L272 TraceCheckUtils]: 12: Hoare triple {7232#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:11:37,139 INFO L290 TraceCheckUtils]: 11: Hoare triple {7232#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7232#true} is VALID [2022-04-28 12:11:37,139 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7232#true} {7232#true} #66#return; {7232#true} is VALID [2022-04-28 12:11:37,139 INFO L290 TraceCheckUtils]: 9: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:11:37,139 INFO L290 TraceCheckUtils]: 8: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 12:11:37,139 INFO L290 TraceCheckUtils]: 7: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 12:11:37,139 INFO L272 TraceCheckUtils]: 6: Hoare triple {7232#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {7232#true} is VALID [2022-04-28 12:11:37,139 INFO L290 TraceCheckUtils]: 5: Hoare triple {7232#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7232#true} is VALID [2022-04-28 12:11:37,139 INFO L272 TraceCheckUtils]: 4: Hoare triple {7232#true} call #t~ret6 := main(); {7232#true} is VALID [2022-04-28 12:11:37,139 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7232#true} {7232#true} #88#return; {7232#true} is VALID [2022-04-28 12:11:37,139 INFO L290 TraceCheckUtils]: 2: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 12:11:37,139 INFO L290 TraceCheckUtils]: 1: Hoare triple {7232#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(10, 2);call #Ultimate.allocInit(12, 3); {7232#true} is VALID [2022-04-28 12:11:37,139 INFO L272 TraceCheckUtils]: 0: Hoare triple {7232#true} call ULTIMATE.init(); {7232#true} is VALID [2022-04-28 12:11:37,140 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 42 proven. 14 refuted. 0 times theorem prover too weak. 78 trivial. 0 not checked. [2022-04-28 12:11:37,140 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:11:37,140 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2003073819] [2022-04-28 12:11:37,140 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:11:37,140 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1580683151] [2022-04-28 12:11:37,140 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1580683151] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:11:37,141 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:11:37,141 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 16 [2022-04-28 12:11:37,141 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:11:37,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2140725047] [2022-04-28 12:11:37,141 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2140725047] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:11:37,141 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:11:37,141 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:11:37,141 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1960117179] [2022-04-28 12:11:37,141 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:11:37,142 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 74 [2022-04-28 12:11:37,142 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:11:37,142 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:11:37,191 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-28 12:11:37,192 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:11:37,192 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:11:37,192 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:11:37,192 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=185, Unknown=1, NotChecked=0, Total=240 [2022-04-28 12:11:37,193 INFO L87 Difference]: Start difference. First operand 132 states and 164 transitions. Second operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:11:38,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:11:38,642 INFO L93 Difference]: Finished difference Result 166 states and 206 transitions. [2022-04-28 12:11:38,642 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:11:38,642 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 74 [2022-04-28 12:11:38,643 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:11:38,643 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:11:38,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 95 transitions. [2022-04-28 12:11:38,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:11:38,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 95 transitions. [2022-04-28 12:11:38,646 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 95 transitions. [2022-04-28 12:11:38,761 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:11:38,764 INFO L225 Difference]: With dead ends: 166 [2022-04-28 12:11:38,764 INFO L226 Difference]: Without dead ends: 164 [2022-04-28 12:11:38,765 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 131 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=67, Invalid=238, Unknown=1, NotChecked=0, Total=306 [2022-04-28 12:11:38,765 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 17 mSDsluCounter, 166 mSDsCounter, 0 mSdLazyCounter, 431 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 208 SdHoareTripleChecker+Invalid, 442 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 431 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 12:11:38,766 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [26 Valid, 208 Invalid, 442 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 431 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 12:11:38,766 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-28 12:11:38,862 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 150. [2022-04-28 12:11:38,862 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:11:38,863 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 12:11:38,864 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 12:11:38,864 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 12:11:38,868 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:11:38,868 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2022-04-28 12:11:38,868 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2022-04-28 12:11:38,868 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:11:38,868 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:11:38,869 INFO L74 IsIncluded]: Start isIncluded. First operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) Second operand 164 states. [2022-04-28 12:11:38,869 INFO L87 Difference]: Start difference. First operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) Second operand 164 states. [2022-04-28 12:11:38,873 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:11:38,873 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2022-04-28 12:11:38,873 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2022-04-28 12:11:38,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:11:38,874 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:11:38,874 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:11:38,874 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:11:38,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 12:11:38,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 150 states to 150 states and 183 transitions. [2022-04-28 12:11:38,878 INFO L78 Accepts]: Start accepts. Automaton has 150 states and 183 transitions. Word has length 74 [2022-04-28 12:11:38,878 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:11:38,878 INFO L495 AbstractCegarLoop]: Abstraction has 150 states and 183 transitions. [2022-04-28 12:11:38,878 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:11:38,878 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 150 states and 183 transitions. [2022-04-28 12:11:39,122 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:11:39,122 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 183 transitions. [2022-04-28 12:11:39,123 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-28 12:11:39,123 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:11:39,123 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:11:39,140 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-28 12:11:39,323 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-28 12:11:39,324 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:11:39,324 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:11:39,324 INFO L85 PathProgramCache]: Analyzing trace with hash -1712511605, now seen corresponding path program 3 times [2022-04-28 12:11:39,324 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:11:39,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1697332649] [2022-04-28 12:11:39,325 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:11:39,325 INFO L85 PathProgramCache]: Analyzing trace with hash -1712511605, now seen corresponding path program 4 times [2022-04-28 12:11:39,325 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:11:39,325 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1004703633] [2022-04-28 12:11:39,325 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:11:39,325 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:11:39,339 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:11:39,339 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [363675582] [2022-04-28 12:11:39,339 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:11:39,339 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:11:39,339 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:11:39,340 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:11:39,341 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 12:11:39,386 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:11:39,386 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:11:39,387 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-28 12:11:39,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:11:39,404 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:11:40,407 INFO L272 TraceCheckUtils]: 0: Hoare triple {8655#true} call ULTIMATE.init(); {8655#true} is VALID [2022-04-28 12:11:40,408 INFO L290 TraceCheckUtils]: 1: Hoare triple {8655#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(10, 2);call #Ultimate.allocInit(12, 3); {8655#true} is VALID [2022-04-28 12:11:40,408 INFO L290 TraceCheckUtils]: 2: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:11:40,408 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8655#true} {8655#true} #88#return; {8655#true} is VALID [2022-04-28 12:11:40,408 INFO L272 TraceCheckUtils]: 4: Hoare triple {8655#true} call #t~ret6 := main(); {8655#true} is VALID [2022-04-28 12:11:40,408 INFO L290 TraceCheckUtils]: 5: Hoare triple {8655#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8655#true} is VALID [2022-04-28 12:11:40,408 INFO L272 TraceCheckUtils]: 6: Hoare triple {8655#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:11:40,408 INFO L290 TraceCheckUtils]: 7: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:11:40,408 INFO L290 TraceCheckUtils]: 8: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:11:40,408 INFO L290 TraceCheckUtils]: 9: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:11:40,409 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8655#true} {8655#true} #66#return; {8655#true} is VALID [2022-04-28 12:11:40,409 INFO L290 TraceCheckUtils]: 11: Hoare triple {8655#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8655#true} is VALID [2022-04-28 12:11:40,409 INFO L272 TraceCheckUtils]: 12: Hoare triple {8655#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:11:40,409 INFO L290 TraceCheckUtils]: 13: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:11:40,409 INFO L290 TraceCheckUtils]: 14: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:11:40,409 INFO L290 TraceCheckUtils]: 15: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:11:40,409 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8655#true} {8655#true} #68#return; {8655#true} is VALID [2022-04-28 12:11:40,409 INFO L272 TraceCheckUtils]: 17: Hoare triple {8655#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:11:40,410 INFO L290 TraceCheckUtils]: 18: Hoare triple {8655#true} ~cond := #in~cond; {8714#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:11:40,410 INFO L290 TraceCheckUtils]: 19: Hoare triple {8714#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8718#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:11:40,410 INFO L290 TraceCheckUtils]: 20: Hoare triple {8718#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8718#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:11:40,411 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8718#(not (= |assume_abort_if_not_#in~cond| 0))} {8655#true} #70#return; {8725#(<= 1 main_~x~0)} is VALID [2022-04-28 12:11:40,411 INFO L272 TraceCheckUtils]: 22: Hoare triple {8725#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:11:40,411 INFO L290 TraceCheckUtils]: 23: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:11:40,411 INFO L290 TraceCheckUtils]: 24: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:11:40,411 INFO L290 TraceCheckUtils]: 25: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:11:40,412 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8655#true} {8725#(<= 1 main_~x~0)} #72#return; {8725#(<= 1 main_~x~0)} is VALID [2022-04-28 12:11:40,412 INFO L290 TraceCheckUtils]: 27: Hoare triple {8725#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8744#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:40,413 INFO L290 TraceCheckUtils]: 28: Hoare triple {8744#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {8744#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:40,413 INFO L272 TraceCheckUtils]: 29: Hoare triple {8744#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:11:40,413 INFO L290 TraceCheckUtils]: 30: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:11:40,413 INFO L290 TraceCheckUtils]: 31: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:11:40,413 INFO L290 TraceCheckUtils]: 32: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:11:40,414 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8655#true} {8744#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {8744#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:40,414 INFO L272 TraceCheckUtils]: 34: Hoare triple {8744#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:11:40,414 INFO L290 TraceCheckUtils]: 35: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:11:40,414 INFO L290 TraceCheckUtils]: 36: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:11:40,414 INFO L290 TraceCheckUtils]: 37: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:11:40,415 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8655#true} {8744#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {8744#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:40,415 INFO L272 TraceCheckUtils]: 39: Hoare triple {8744#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:11:40,415 INFO L290 TraceCheckUtils]: 40: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:11:40,416 INFO L290 TraceCheckUtils]: 41: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:11:40,416 INFO L290 TraceCheckUtils]: 42: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:11:40,416 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8655#true} {8744#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {8744#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:40,417 INFO L290 TraceCheckUtils]: 44: Hoare triple {8744#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {8796#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:11:40,418 INFO L290 TraceCheckUtils]: 45: Hoare triple {8796#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:11:40,419 INFO L290 TraceCheckUtils]: 46: Hoare triple {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !false; {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:11:40,419 INFO L272 TraceCheckUtils]: 47: Hoare triple {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:11:40,419 INFO L290 TraceCheckUtils]: 48: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:11:40,419 INFO L290 TraceCheckUtils]: 49: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:11:40,419 INFO L290 TraceCheckUtils]: 50: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:11:40,420 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8655#true} {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #74#return; {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:11:40,420 INFO L272 TraceCheckUtils]: 52: Hoare triple {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:11:40,420 INFO L290 TraceCheckUtils]: 53: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:11:40,420 INFO L290 TraceCheckUtils]: 54: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:11:40,420 INFO L290 TraceCheckUtils]: 55: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:11:40,421 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8655#true} {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #76#return; {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:11:40,421 INFO L272 TraceCheckUtils]: 57: Hoare triple {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:11:40,421 INFO L290 TraceCheckUtils]: 58: Hoare triple {8655#true} ~cond := #in~cond; {8840#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:11:40,422 INFO L290 TraceCheckUtils]: 59: Hoare triple {8840#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8844#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:40,422 INFO L290 TraceCheckUtils]: 60: Hoare triple {8844#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8844#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:11:40,423 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8844#(not (= |__VERIFIER_assert_#in~cond| 0))} {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #78#return; {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:11:40,424 INFO L290 TraceCheckUtils]: 62: Hoare triple {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:11:40,425 INFO L290 TraceCheckUtils]: 63: Hoare triple {8800#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8857#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} is VALID [2022-04-28 12:11:40,425 INFO L290 TraceCheckUtils]: 64: Hoare triple {8857#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} assume !false; {8857#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} is VALID [2022-04-28 12:11:40,426 INFO L272 TraceCheckUtils]: 65: Hoare triple {8857#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:11:40,426 INFO L290 TraceCheckUtils]: 66: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:11:40,426 INFO L290 TraceCheckUtils]: 67: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:11:40,426 INFO L290 TraceCheckUtils]: 68: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:11:40,427 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8655#true} {8857#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} #74#return; {8857#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} is VALID [2022-04-28 12:11:40,427 INFO L272 TraceCheckUtils]: 70: Hoare triple {8857#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8879#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:11:40,428 INFO L290 TraceCheckUtils]: 71: Hoare triple {8879#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8883#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:11:40,428 INFO L290 TraceCheckUtils]: 72: Hoare triple {8883#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8656#false} is VALID [2022-04-28 12:11:40,428 INFO L290 TraceCheckUtils]: 73: Hoare triple {8656#false} assume !false; {8656#false} is VALID [2022-04-28 12:11:40,429 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 34 proven. 19 refuted. 0 times theorem prover too weak. 81 trivial. 0 not checked. [2022-04-28 12:11:40,429 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:12:16,457 INFO L290 TraceCheckUtils]: 73: Hoare triple {8656#false} assume !false; {8656#false} is VALID [2022-04-28 12:12:16,458 INFO L290 TraceCheckUtils]: 72: Hoare triple {8883#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8656#false} is VALID [2022-04-28 12:12:16,458 INFO L290 TraceCheckUtils]: 71: Hoare triple {8879#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8883#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:12:16,459 INFO L272 TraceCheckUtils]: 70: Hoare triple {8899#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8879#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:12:16,459 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8655#true} {8899#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {8899#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:12:16,459 INFO L290 TraceCheckUtils]: 68: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:12:16,459 INFO L290 TraceCheckUtils]: 67: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:12:16,459 INFO L290 TraceCheckUtils]: 66: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:12:16,460 INFO L272 TraceCheckUtils]: 65: Hoare triple {8899#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:12:16,460 INFO L290 TraceCheckUtils]: 64: Hoare triple {8899#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {8899#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:12:16,618 INFO L290 TraceCheckUtils]: 63: Hoare triple {8921#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8899#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:12:16,619 INFO L290 TraceCheckUtils]: 62: Hoare triple {8921#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {8921#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:12:16,620 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8844#(not (= |__VERIFIER_assert_#in~cond| 0))} {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #78#return; {8921#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:12:16,620 INFO L290 TraceCheckUtils]: 60: Hoare triple {8844#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8844#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:16,620 INFO L290 TraceCheckUtils]: 59: Hoare triple {8938#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8844#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:16,621 INFO L290 TraceCheckUtils]: 58: Hoare triple {8655#true} ~cond := #in~cond; {8938#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:12:16,621 INFO L272 TraceCheckUtils]: 57: Hoare triple {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:12:16,622 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8655#true} {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #76#return; {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:12:16,622 INFO L290 TraceCheckUtils]: 55: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:12:16,622 INFO L290 TraceCheckUtils]: 54: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:12:16,622 INFO L290 TraceCheckUtils]: 53: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:12:16,622 INFO L272 TraceCheckUtils]: 52: Hoare triple {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:12:16,623 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8655#true} {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #74#return; {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:12:16,623 INFO L290 TraceCheckUtils]: 50: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:12:16,623 INFO L290 TraceCheckUtils]: 49: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:12:16,623 INFO L290 TraceCheckUtils]: 48: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:12:16,623 INFO L272 TraceCheckUtils]: 47: Hoare triple {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:12:16,623 INFO L290 TraceCheckUtils]: 46: Hoare triple {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:12:18,628 WARN L290 TraceCheckUtils]: 45: Hoare triple {8978#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {8928#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is UNKNOWN [2022-04-28 12:12:18,635 INFO L290 TraceCheckUtils]: 44: Hoare triple {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(~a~0 != ~b~0); {8978#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:12:18,642 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8655#true} {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #78#return; {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:12:18,642 INFO L290 TraceCheckUtils]: 42: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:12:18,642 INFO L290 TraceCheckUtils]: 41: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:12:18,642 INFO L290 TraceCheckUtils]: 40: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:12:18,642 INFO L272 TraceCheckUtils]: 39: Hoare triple {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:12:18,651 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8655#true} {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #76#return; {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:12:18,651 INFO L290 TraceCheckUtils]: 37: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:12:18,651 INFO L290 TraceCheckUtils]: 36: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:12:18,652 INFO L290 TraceCheckUtils]: 35: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:12:18,652 INFO L272 TraceCheckUtils]: 34: Hoare triple {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:12:18,659 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8655#true} {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #74#return; {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:12:18,659 INFO L290 TraceCheckUtils]: 32: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:12:18,659 INFO L290 TraceCheckUtils]: 31: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:12:18,660 INFO L290 TraceCheckUtils]: 30: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:12:18,660 INFO L272 TraceCheckUtils]: 29: Hoare triple {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:12:18,667 INFO L290 TraceCheckUtils]: 28: Hoare triple {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !false; {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:12:18,675 INFO L290 TraceCheckUtils]: 27: Hoare triple {8655#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8982#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 12:12:18,675 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8655#true} {8655#true} #72#return; {8655#true} is VALID [2022-04-28 12:12:18,675 INFO L290 TraceCheckUtils]: 25: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:12:18,676 INFO L290 TraceCheckUtils]: 24: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:12:18,676 INFO L290 TraceCheckUtils]: 23: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:12:18,676 INFO L272 TraceCheckUtils]: 22: Hoare triple {8655#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:12:18,676 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8655#true} {8655#true} #70#return; {8655#true} is VALID [2022-04-28 12:12:18,676 INFO L290 TraceCheckUtils]: 20: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:12:18,676 INFO L290 TraceCheckUtils]: 19: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:12:18,676 INFO L290 TraceCheckUtils]: 18: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:12:18,676 INFO L272 TraceCheckUtils]: 17: Hoare triple {8655#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:12:18,676 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8655#true} {8655#true} #68#return; {8655#true} is VALID [2022-04-28 12:12:18,676 INFO L290 TraceCheckUtils]: 15: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:12:18,676 INFO L290 TraceCheckUtils]: 14: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:12:18,676 INFO L290 TraceCheckUtils]: 13: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:12:18,676 INFO L272 TraceCheckUtils]: 12: Hoare triple {8655#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:12:18,676 INFO L290 TraceCheckUtils]: 11: Hoare triple {8655#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8655#true} is VALID [2022-04-28 12:12:18,677 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8655#true} {8655#true} #66#return; {8655#true} is VALID [2022-04-28 12:12:18,677 INFO L290 TraceCheckUtils]: 9: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:12:18,677 INFO L290 TraceCheckUtils]: 8: Hoare triple {8655#true} assume !(0 == ~cond); {8655#true} is VALID [2022-04-28 12:12:18,677 INFO L290 TraceCheckUtils]: 7: Hoare triple {8655#true} ~cond := #in~cond; {8655#true} is VALID [2022-04-28 12:12:18,677 INFO L272 TraceCheckUtils]: 6: Hoare triple {8655#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {8655#true} is VALID [2022-04-28 12:12:18,677 INFO L290 TraceCheckUtils]: 5: Hoare triple {8655#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8655#true} is VALID [2022-04-28 12:12:18,677 INFO L272 TraceCheckUtils]: 4: Hoare triple {8655#true} call #t~ret6 := main(); {8655#true} is VALID [2022-04-28 12:12:18,677 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8655#true} {8655#true} #88#return; {8655#true} is VALID [2022-04-28 12:12:18,677 INFO L290 TraceCheckUtils]: 2: Hoare triple {8655#true} assume true; {8655#true} is VALID [2022-04-28 12:12:18,677 INFO L290 TraceCheckUtils]: 1: Hoare triple {8655#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(10, 2);call #Ultimate.allocInit(12, 3); {8655#true} is VALID [2022-04-28 12:12:18,677 INFO L272 TraceCheckUtils]: 0: Hoare triple {8655#true} call ULTIMATE.init(); {8655#true} is VALID [2022-04-28 12:12:18,678 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 34 proven. 10 refuted. 0 times theorem prover too weak. 90 trivial. 0 not checked. [2022-04-28 12:12:18,678 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:12:18,678 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1004703633] [2022-04-28 12:12:18,678 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:12:18,678 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [363675582] [2022-04-28 12:12:18,678 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [363675582] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:12:18,678 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:12:18,678 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-28 12:12:18,679 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:12:18,679 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1697332649] [2022-04-28 12:12:18,679 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1697332649] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:12:18,679 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:12:18,679 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:12:18,679 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [504771813] [2022-04-28 12:12:18,679 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:12:18,680 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 74 [2022-04-28 12:12:18,680 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:12:18,680 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:12:18,757 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:12:18,758 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:12:18,758 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:12:18,758 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:12:18,758 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=274, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:12:18,758 INFO L87 Difference]: Start difference. First operand 150 states and 183 transitions. Second operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:12:21,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:12:21,534 INFO L93 Difference]: Finished difference Result 188 states and 228 transitions. [2022-04-28 12:12:21,534 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:12:21,534 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 74 [2022-04-28 12:12:21,535 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:12:21,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:12:21,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 85 transitions. [2022-04-28 12:12:21,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:12:21,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 85 transitions. [2022-04-28 12:12:21,537 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 85 transitions. [2022-04-28 12:12:21,639 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:12:21,642 INFO L225 Difference]: With dead ends: 188 [2022-04-28 12:12:21,642 INFO L226 Difference]: Without dead ends: 186 [2022-04-28 12:12:21,643 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 128 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=85, Invalid=377, Unknown=0, NotChecked=0, Total=462 [2022-04-28 12:12:21,643 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 24 mSDsluCounter, 154 mSDsCounter, 0 mSdLazyCounter, 543 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 190 SdHoareTripleChecker+Invalid, 559 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 543 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-28 12:12:21,643 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 190 Invalid, 559 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 543 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-28 12:12:21,644 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 186 states. [2022-04-28 12:12:21,782 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 186 to 172. [2022-04-28 12:12:21,782 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:12:21,783 INFO L82 GeneralOperation]: Start isEquivalent. First operand 186 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 12:12:21,783 INFO L74 IsIncluded]: Start isIncluded. First operand 186 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 12:12:21,783 INFO L87 Difference]: Start difference. First operand 186 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 12:12:21,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:12:21,788 INFO L93 Difference]: Finished difference Result 186 states and 226 transitions. [2022-04-28 12:12:21,788 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 226 transitions. [2022-04-28 12:12:21,789 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:12:21,789 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:12:21,789 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) Second operand 186 states. [2022-04-28 12:12:21,789 INFO L87 Difference]: Start difference. First operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) Second operand 186 states. [2022-04-28 12:12:21,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:12:21,794 INFO L93 Difference]: Finished difference Result 186 states and 226 transitions. [2022-04-28 12:12:21,794 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 226 transitions. [2022-04-28 12:12:21,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:12:21,794 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:12:21,795 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:12:21,795 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:12:21,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 12:12:21,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 205 transitions. [2022-04-28 12:12:21,799 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 205 transitions. Word has length 74 [2022-04-28 12:12:21,800 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:12:21,800 INFO L495 AbstractCegarLoop]: Abstraction has 172 states and 205 transitions. [2022-04-28 12:12:21,800 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:12:21,800 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 205 transitions. [2022-04-28 12:12:22,080 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 205 edges. 205 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:12:22,080 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 205 transitions. [2022-04-28 12:12:22,084 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 12:12:22,085 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:12:22,085 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:12:22,112 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 12:12:22,299 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 12:12:22,299 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:12:22,299 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:12:22,300 INFO L85 PathProgramCache]: Analyzing trace with hash 15858924, now seen corresponding path program 5 times [2022-04-28 12:12:22,300 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:12:22,300 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2050451105] [2022-04-28 12:12:22,300 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:12:22,300 INFO L85 PathProgramCache]: Analyzing trace with hash 15858924, now seen corresponding path program 6 times [2022-04-28 12:12:22,300 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:12:22,300 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [444901540] [2022-04-28 12:12:22,300 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:12:22,301 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:12:22,312 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:12:22,312 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [860388502] [2022-04-28 12:12:22,312 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:12:22,313 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:12:22,313 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:12:22,314 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:12:22,323 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 12:12:22,369 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:12:22,369 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:12:22,370 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 12:12:22,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:12:22,393 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:12:22,745 INFO L272 TraceCheckUtils]: 0: Hoare triple {10215#true} call ULTIMATE.init(); {10215#true} is VALID [2022-04-28 12:12:22,745 INFO L290 TraceCheckUtils]: 1: Hoare triple {10215#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(10, 2);call #Ultimate.allocInit(12, 3); {10215#true} is VALID [2022-04-28 12:12:22,745 INFO L290 TraceCheckUtils]: 2: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:22,745 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10215#true} {10215#true} #88#return; {10215#true} is VALID [2022-04-28 12:12:22,746 INFO L272 TraceCheckUtils]: 4: Hoare triple {10215#true} call #t~ret6 := main(); {10215#true} is VALID [2022-04-28 12:12:22,746 INFO L290 TraceCheckUtils]: 5: Hoare triple {10215#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {10215#true} is VALID [2022-04-28 12:12:22,746 INFO L272 TraceCheckUtils]: 6: Hoare triple {10215#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:22,746 INFO L290 TraceCheckUtils]: 7: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:22,746 INFO L290 TraceCheckUtils]: 8: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:22,746 INFO L290 TraceCheckUtils]: 9: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:22,746 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10215#true} {10215#true} #66#return; {10215#true} is VALID [2022-04-28 12:12:22,746 INFO L290 TraceCheckUtils]: 11: Hoare triple {10215#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10215#true} is VALID [2022-04-28 12:12:22,746 INFO L272 TraceCheckUtils]: 12: Hoare triple {10215#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:22,746 INFO L290 TraceCheckUtils]: 13: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:22,746 INFO L290 TraceCheckUtils]: 14: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:22,746 INFO L290 TraceCheckUtils]: 15: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:22,747 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10215#true} {10215#true} #68#return; {10215#true} is VALID [2022-04-28 12:12:22,747 INFO L272 TraceCheckUtils]: 17: Hoare triple {10215#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:22,747 INFO L290 TraceCheckUtils]: 18: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:22,747 INFO L290 TraceCheckUtils]: 19: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:22,747 INFO L290 TraceCheckUtils]: 20: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:22,747 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10215#true} {10215#true} #70#return; {10215#true} is VALID [2022-04-28 12:12:22,747 INFO L272 TraceCheckUtils]: 22: Hoare triple {10215#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:22,747 INFO L290 TraceCheckUtils]: 23: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:22,747 INFO L290 TraceCheckUtils]: 24: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:22,747 INFO L290 TraceCheckUtils]: 25: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:22,747 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10215#true} {10215#true} #72#return; {10215#true} is VALID [2022-04-28 12:12:22,748 INFO L290 TraceCheckUtils]: 27: Hoare triple {10215#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:12:22,748 INFO L290 TraceCheckUtils]: 28: Hoare triple {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:12:22,748 INFO L272 TraceCheckUtils]: 29: Hoare triple {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:22,749 INFO L290 TraceCheckUtils]: 30: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:22,749 INFO L290 TraceCheckUtils]: 31: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:22,749 INFO L290 TraceCheckUtils]: 32: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:22,749 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10215#true} {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:12:22,749 INFO L272 TraceCheckUtils]: 34: Hoare triple {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:22,749 INFO L290 TraceCheckUtils]: 35: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:22,750 INFO L290 TraceCheckUtils]: 36: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:22,750 INFO L290 TraceCheckUtils]: 37: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:22,750 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {10215#true} {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:12:22,750 INFO L272 TraceCheckUtils]: 39: Hoare triple {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:22,750 INFO L290 TraceCheckUtils]: 40: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:22,750 INFO L290 TraceCheckUtils]: 41: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:22,751 INFO L290 TraceCheckUtils]: 42: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:22,751 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {10215#true} {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #78#return; {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:12:22,751 INFO L290 TraceCheckUtils]: 44: Hoare triple {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:12:22,752 INFO L290 TraceCheckUtils]: 45: Hoare triple {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:12:22,752 INFO L290 TraceCheckUtils]: 46: Hoare triple {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:12:22,752 INFO L272 TraceCheckUtils]: 47: Hoare triple {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:22,752 INFO L290 TraceCheckUtils]: 48: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:22,753 INFO L290 TraceCheckUtils]: 49: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:22,753 INFO L290 TraceCheckUtils]: 50: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:22,753 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10215#true} {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:12:22,753 INFO L272 TraceCheckUtils]: 52: Hoare triple {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:22,754 INFO L290 TraceCheckUtils]: 53: Hoare triple {10215#true} ~cond := #in~cond; {10380#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:12:22,754 INFO L290 TraceCheckUtils]: 54: Hoare triple {10380#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10384#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:22,754 INFO L290 TraceCheckUtils]: 55: Hoare triple {10384#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10384#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:22,755 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10384#(not (= |__VERIFIER_assert_#in~cond| 0))} {10301#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {10391#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:12:22,755 INFO L272 TraceCheckUtils]: 57: Hoare triple {10391#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:22,755 INFO L290 TraceCheckUtils]: 58: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:22,755 INFO L290 TraceCheckUtils]: 59: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:22,755 INFO L290 TraceCheckUtils]: 60: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:22,756 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10215#true} {10391#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #78#return; {10391#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:12:22,756 INFO L290 TraceCheckUtils]: 62: Hoare triple {10391#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {10391#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:12:22,762 INFO L290 TraceCheckUtils]: 63: Hoare triple {10391#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-28 12:12:22,763 INFO L290 TraceCheckUtils]: 64: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} assume !false; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-28 12:12:22,763 INFO L272 TraceCheckUtils]: 65: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:22,763 INFO L290 TraceCheckUtils]: 66: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:22,763 INFO L290 TraceCheckUtils]: 67: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:22,763 INFO L290 TraceCheckUtils]: 68: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:22,764 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10215#true} {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} #74#return; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-28 12:12:22,764 INFO L272 TraceCheckUtils]: 70: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:22,764 INFO L290 TraceCheckUtils]: 71: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:22,764 INFO L290 TraceCheckUtils]: 72: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:22,764 INFO L290 TraceCheckUtils]: 73: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:22,765 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {10215#true} {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} #76#return; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-28 12:12:22,765 INFO L272 TraceCheckUtils]: 75: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:12:22,766 INFO L290 TraceCheckUtils]: 76: Hoare triple {10450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:12:22,766 INFO L290 TraceCheckUtils]: 77: Hoare triple {10454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10216#false} is VALID [2022-04-28 12:12:22,766 INFO L290 TraceCheckUtils]: 78: Hoare triple {10216#false} assume !false; {10216#false} is VALID [2022-04-28 12:12:22,767 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 30 proven. 18 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-28 12:12:22,767 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:12:36,547 INFO L290 TraceCheckUtils]: 78: Hoare triple {10216#false} assume !false; {10216#false} is VALID [2022-04-28 12:12:36,547 INFO L290 TraceCheckUtils]: 77: Hoare triple {10454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10216#false} is VALID [2022-04-28 12:12:36,548 INFO L290 TraceCheckUtils]: 76: Hoare triple {10450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:12:36,549 INFO L272 TraceCheckUtils]: 75: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:12:36,550 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {10215#true} {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} #76#return; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-28 12:12:36,550 INFO L290 TraceCheckUtils]: 73: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:36,550 INFO L290 TraceCheckUtils]: 72: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:36,550 INFO L290 TraceCheckUtils]: 71: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:36,550 INFO L272 TraceCheckUtils]: 70: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:36,551 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10215#true} {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} #74#return; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-28 12:12:36,551 INFO L290 TraceCheckUtils]: 68: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:36,551 INFO L290 TraceCheckUtils]: 67: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:36,551 INFO L290 TraceCheckUtils]: 66: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:36,551 INFO L272 TraceCheckUtils]: 65: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:36,551 INFO L290 TraceCheckUtils]: 64: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} assume !false; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-28 12:12:38,464 INFO L290 TraceCheckUtils]: 63: Hoare triple {10506#(= (+ (* (- 1) main_~a~0) main_~b~0) (+ main_~y~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-28 12:12:38,465 INFO L290 TraceCheckUtils]: 62: Hoare triple {10506#(= (+ (* (- 1) main_~a~0) main_~b~0) (+ main_~y~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} assume !!(~a~0 != ~b~0); {10506#(= (+ (* (- 1) main_~a~0) main_~b~0) (+ main_~y~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-28 12:12:38,465 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10215#true} {10506#(= (+ (* (- 1) main_~a~0) main_~b~0) (+ main_~y~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} #78#return; {10506#(= (+ (* (- 1) main_~a~0) main_~b~0) (+ main_~y~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-28 12:12:38,465 INFO L290 TraceCheckUtils]: 60: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:38,466 INFO L290 TraceCheckUtils]: 59: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:38,466 INFO L290 TraceCheckUtils]: 58: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:38,466 INFO L272 TraceCheckUtils]: 57: Hoare triple {10506#(= (+ (* (- 1) main_~a~0) main_~b~0) (+ main_~y~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:38,467 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10384#(not (= |__VERIFIER_assert_#in~cond| 0))} {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} #76#return; {10506#(= (+ (* (- 1) main_~a~0) main_~b~0) (+ main_~y~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-28 12:12:38,468 INFO L290 TraceCheckUtils]: 55: Hoare triple {10384#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10384#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:38,468 INFO L290 TraceCheckUtils]: 54: Hoare triple {10537#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10384#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:38,468 INFO L290 TraceCheckUtils]: 53: Hoare triple {10215#true} ~cond := #in~cond; {10537#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:12:38,468 INFO L272 TraceCheckUtils]: 52: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:38,469 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10215#true} {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} #74#return; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-28 12:12:38,469 INFO L290 TraceCheckUtils]: 50: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:38,469 INFO L290 TraceCheckUtils]: 49: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:38,469 INFO L290 TraceCheckUtils]: 48: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:38,469 INFO L272 TraceCheckUtils]: 47: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:38,470 INFO L290 TraceCheckUtils]: 46: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} assume !false; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-28 12:12:38,470 INFO L290 TraceCheckUtils]: 45: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-28 12:12:38,471 INFO L290 TraceCheckUtils]: 44: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} assume !!(~a~0 != ~b~0); {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-28 12:12:38,471 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {10215#true} {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} #78#return; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-28 12:12:38,471 INFO L290 TraceCheckUtils]: 42: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:38,471 INFO L290 TraceCheckUtils]: 41: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:38,471 INFO L290 TraceCheckUtils]: 40: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:38,472 INFO L272 TraceCheckUtils]: 39: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:38,472 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {10215#true} {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} #76#return; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-28 12:12:38,472 INFO L290 TraceCheckUtils]: 37: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:38,472 INFO L290 TraceCheckUtils]: 36: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:38,472 INFO L290 TraceCheckUtils]: 35: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:38,472 INFO L272 TraceCheckUtils]: 34: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:38,473 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10215#true} {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} #74#return; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-28 12:12:38,473 INFO L290 TraceCheckUtils]: 32: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:38,473 INFO L290 TraceCheckUtils]: 31: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:38,473 INFO L290 TraceCheckUtils]: 30: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:38,473 INFO L272 TraceCheckUtils]: 29: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:38,474 INFO L290 TraceCheckUtils]: 28: Hoare triple {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} assume !false; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-28 12:12:38,474 INFO L290 TraceCheckUtils]: 27: Hoare triple {10215#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10413#(= main_~b~0 (+ main_~y~0 (* (- 1) (* main_~x~0 (* (- 1) main_~q~0))) (* (- 1) (* main_~y~0 (+ (* (- 1) main_~s~0) 1)))))} is VALID [2022-04-28 12:12:38,474 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10215#true} {10215#true} #72#return; {10215#true} is VALID [2022-04-28 12:12:38,474 INFO L290 TraceCheckUtils]: 25: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:38,474 INFO L290 TraceCheckUtils]: 24: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:38,474 INFO L290 TraceCheckUtils]: 23: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:38,474 INFO L272 TraceCheckUtils]: 22: Hoare triple {10215#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:38,474 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10215#true} {10215#true} #70#return; {10215#true} is VALID [2022-04-28 12:12:38,474 INFO L290 TraceCheckUtils]: 20: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:38,474 INFO L290 TraceCheckUtils]: 19: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:38,474 INFO L290 TraceCheckUtils]: 18: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:38,475 INFO L272 TraceCheckUtils]: 17: Hoare triple {10215#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:38,475 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10215#true} {10215#true} #68#return; {10215#true} is VALID [2022-04-28 12:12:38,475 INFO L290 TraceCheckUtils]: 15: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:38,475 INFO L290 TraceCheckUtils]: 14: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:38,475 INFO L290 TraceCheckUtils]: 13: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:38,475 INFO L272 TraceCheckUtils]: 12: Hoare triple {10215#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:38,475 INFO L290 TraceCheckUtils]: 11: Hoare triple {10215#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10215#true} is VALID [2022-04-28 12:12:38,475 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10215#true} {10215#true} #66#return; {10215#true} is VALID [2022-04-28 12:12:38,475 INFO L290 TraceCheckUtils]: 9: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:38,475 INFO L290 TraceCheckUtils]: 8: Hoare triple {10215#true} assume !(0 == ~cond); {10215#true} is VALID [2022-04-28 12:12:38,475 INFO L290 TraceCheckUtils]: 7: Hoare triple {10215#true} ~cond := #in~cond; {10215#true} is VALID [2022-04-28 12:12:38,475 INFO L272 TraceCheckUtils]: 6: Hoare triple {10215#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {10215#true} is VALID [2022-04-28 12:12:38,475 INFO L290 TraceCheckUtils]: 5: Hoare triple {10215#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {10215#true} is VALID [2022-04-28 12:12:38,475 INFO L272 TraceCheckUtils]: 4: Hoare triple {10215#true} call #t~ret6 := main(); {10215#true} is VALID [2022-04-28 12:12:38,476 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10215#true} {10215#true} #88#return; {10215#true} is VALID [2022-04-28 12:12:38,476 INFO L290 TraceCheckUtils]: 2: Hoare triple {10215#true} assume true; {10215#true} is VALID [2022-04-28 12:12:38,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {10215#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(10, 2);call #Ultimate.allocInit(12, 3); {10215#true} is VALID [2022-04-28 12:12:38,476 INFO L272 TraceCheckUtils]: 0: Hoare triple {10215#true} call ULTIMATE.init(); {10215#true} is VALID [2022-04-28 12:12:38,476 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 27 proven. 14 refuted. 0 times theorem prover too weak. 125 trivial. 0 not checked. [2022-04-28 12:12:38,476 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:12:38,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [444901540] [2022-04-28 12:12:38,477 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:12:38,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [860388502] [2022-04-28 12:12:38,477 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [860388502] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:12:38,477 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:12:38,477 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-28 12:12:38,477 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:12:38,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2050451105] [2022-04-28 12:12:38,477 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2050451105] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:12:38,480 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:12:38,480 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:12:38,480 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1624422272] [2022-04-28 12:12:38,480 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:12:38,480 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 79 [2022-04-28 12:12:38,481 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:12:38,481 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:12:38,545 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:12:38,545 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:12:38,545 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:12:38,545 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:12:38,546 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:12:38,546 INFO L87 Difference]: Start difference. First operand 172 states and 205 transitions. Second operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:12:39,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:12:39,307 INFO L93 Difference]: Finished difference Result 186 states and 224 transitions. [2022-04-28 12:12:39,308 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:12:39,308 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 79 [2022-04-28 12:12:39,308 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:12:39,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:12:39,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-28 12:12:39,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:12:39,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-28 12:12:39,310 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 64 transitions. [2022-04-28 12:12:39,429 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:12:39,433 INFO L225 Difference]: With dead ends: 186 [2022-04-28 12:12:39,433 INFO L226 Difference]: Without dead ends: 173 [2022-04-28 12:12:39,433 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 159 GetRequests, 145 SyntacticMatches, 3 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=40, Invalid=116, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:12:39,434 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 166 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 152 SdHoareTripleChecker+Invalid, 176 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 166 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:12:39,434 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 152 Invalid, 176 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 166 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:12:39,435 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-28 12:12:39,575 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 153. [2022-04-28 12:12:39,575 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:12:39,576 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 12:12:39,576 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 12:12:39,576 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 12:12:39,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:12:39,581 INFO L93 Difference]: Finished difference Result 173 states and 203 transitions. [2022-04-28 12:12:39,581 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 203 transitions. [2022-04-28 12:12:39,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:12:39,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:12:39,582 INFO L74 IsIncluded]: Start isIncluded. First operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 173 states. [2022-04-28 12:12:39,582 INFO L87 Difference]: Start difference. First operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 173 states. [2022-04-28 12:12:39,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:12:39,587 INFO L93 Difference]: Finished difference Result 173 states and 203 transitions. [2022-04-28 12:12:39,587 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 203 transitions. [2022-04-28 12:12:39,587 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:12:39,587 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:12:39,587 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:12:39,587 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:12:39,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 12:12:39,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 173 transitions. [2022-04-28 12:12:39,591 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 173 transitions. Word has length 79 [2022-04-28 12:12:39,591 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:12:39,592 INFO L495 AbstractCegarLoop]: Abstraction has 153 states and 173 transitions. [2022-04-28 12:12:39,592 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:12:39,592 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 153 states and 173 transitions. [2022-04-28 12:12:40,333 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 173 edges. 173 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:12:40,334 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 173 transitions. [2022-04-28 12:12:40,335 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 12:12:40,335 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:12:40,335 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:12:40,366 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 12:12:40,535 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 12:12:40,535 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:12:40,536 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:12:40,536 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 3 times [2022-04-28 12:12:40,536 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:12:40,536 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [419877799] [2022-04-28 12:12:40,536 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:12:40,537 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 4 times [2022-04-28 12:12:40,537 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:12:40,537 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [566343573] [2022-04-28 12:12:40,537 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:12:40,537 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:12:40,569 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:12:40,569 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [914888032] [2022-04-28 12:12:40,569 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:12:40,569 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:12:40,569 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:12:40,575 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:12:40,576 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 12:12:40,629 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:12:40,630 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:12:40,631 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 12:12:40,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:12:40,649 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:12:41,493 INFO L272 TraceCheckUtils]: 0: Hoare triple {11727#true} call ULTIMATE.init(); {11727#true} is VALID [2022-04-28 12:12:41,493 INFO L290 TraceCheckUtils]: 1: Hoare triple {11727#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(10, 2);call #Ultimate.allocInit(12, 3); {11727#true} is VALID [2022-04-28 12:12:41,494 INFO L290 TraceCheckUtils]: 2: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:12:41,494 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11727#true} {11727#true} #88#return; {11727#true} is VALID [2022-04-28 12:12:41,494 INFO L272 TraceCheckUtils]: 4: Hoare triple {11727#true} call #t~ret6 := main(); {11727#true} is VALID [2022-04-28 12:12:41,494 INFO L290 TraceCheckUtils]: 5: Hoare triple {11727#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11727#true} is VALID [2022-04-28 12:12:41,494 INFO L272 TraceCheckUtils]: 6: Hoare triple {11727#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:12:41,494 INFO L290 TraceCheckUtils]: 7: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:12:41,494 INFO L290 TraceCheckUtils]: 8: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:12:41,494 INFO L290 TraceCheckUtils]: 9: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:12:41,494 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11727#true} {11727#true} #66#return; {11727#true} is VALID [2022-04-28 12:12:41,494 INFO L290 TraceCheckUtils]: 11: Hoare triple {11727#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11727#true} is VALID [2022-04-28 12:12:41,495 INFO L272 TraceCheckUtils]: 12: Hoare triple {11727#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:12:41,495 INFO L290 TraceCheckUtils]: 13: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:12:41,495 INFO L290 TraceCheckUtils]: 14: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:12:41,495 INFO L290 TraceCheckUtils]: 15: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:12:41,495 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11727#true} {11727#true} #68#return; {11727#true} is VALID [2022-04-28 12:12:41,495 INFO L272 TraceCheckUtils]: 17: Hoare triple {11727#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:12:41,495 INFO L290 TraceCheckUtils]: 18: Hoare triple {11727#true} ~cond := #in~cond; {11786#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:12:41,496 INFO L290 TraceCheckUtils]: 19: Hoare triple {11786#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {11790#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:12:41,496 INFO L290 TraceCheckUtils]: 20: Hoare triple {11790#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11790#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:12:41,497 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11790#(not (= |assume_abort_if_not_#in~cond| 0))} {11727#true} #70#return; {11797#(<= 1 main_~x~0)} is VALID [2022-04-28 12:12:41,497 INFO L272 TraceCheckUtils]: 22: Hoare triple {11797#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:12:41,497 INFO L290 TraceCheckUtils]: 23: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:12:41,497 INFO L290 TraceCheckUtils]: 24: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:12:41,497 INFO L290 TraceCheckUtils]: 25: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:12:41,497 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11727#true} {11797#(<= 1 main_~x~0)} #72#return; {11797#(<= 1 main_~x~0)} is VALID [2022-04-28 12:12:41,498 INFO L290 TraceCheckUtils]: 27: Hoare triple {11797#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11816#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:12:41,498 INFO L290 TraceCheckUtils]: 28: Hoare triple {11816#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {11816#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:12:41,498 INFO L272 TraceCheckUtils]: 29: Hoare triple {11816#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:12:41,499 INFO L290 TraceCheckUtils]: 30: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:12:41,499 INFO L290 TraceCheckUtils]: 31: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:12:41,499 INFO L290 TraceCheckUtils]: 32: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:12:41,499 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11727#true} {11816#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {11816#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:12:41,500 INFO L272 TraceCheckUtils]: 34: Hoare triple {11816#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:12:41,500 INFO L290 TraceCheckUtils]: 35: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:12:41,500 INFO L290 TraceCheckUtils]: 36: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:12:41,500 INFO L290 TraceCheckUtils]: 37: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:12:41,504 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11727#true} {11816#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {11816#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:12:41,504 INFO L272 TraceCheckUtils]: 39: Hoare triple {11816#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:12:41,504 INFO L290 TraceCheckUtils]: 40: Hoare triple {11727#true} ~cond := #in~cond; {11856#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:12:41,505 INFO L290 TraceCheckUtils]: 41: Hoare triple {11856#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:41,505 INFO L290 TraceCheckUtils]: 42: Hoare triple {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:41,506 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} {11816#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {11867#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:12:41,506 INFO L290 TraceCheckUtils]: 44: Hoare triple {11867#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {11867#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:12:41,508 INFO L290 TraceCheckUtils]: 45: Hoare triple {11867#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11874#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:12:41,508 INFO L290 TraceCheckUtils]: 46: Hoare triple {11874#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !false; {11874#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:12:41,511 INFO L272 TraceCheckUtils]: 47: Hoare triple {11874#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:12:41,511 INFO L290 TraceCheckUtils]: 48: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:12:41,511 INFO L290 TraceCheckUtils]: 49: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:12:41,511 INFO L290 TraceCheckUtils]: 50: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:12:41,512 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11727#true} {11874#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #74#return; {11874#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:12:41,512 INFO L272 TraceCheckUtils]: 52: Hoare triple {11874#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:12:41,512 INFO L290 TraceCheckUtils]: 53: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:12:41,512 INFO L290 TraceCheckUtils]: 54: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:12:41,512 INFO L290 TraceCheckUtils]: 55: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:12:41,513 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {11727#true} {11874#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #76#return; {11874#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:12:41,513 INFO L272 TraceCheckUtils]: 57: Hoare triple {11874#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:12:41,513 INFO L290 TraceCheckUtils]: 58: Hoare triple {11727#true} ~cond := #in~cond; {11856#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:12:41,514 INFO L290 TraceCheckUtils]: 59: Hoare triple {11856#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:41,514 INFO L290 TraceCheckUtils]: 60: Hoare triple {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:12:41,515 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} {11874#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #78#return; {11874#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:12:41,515 INFO L290 TraceCheckUtils]: 62: Hoare triple {11874#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {11874#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:12:41,517 INFO L290 TraceCheckUtils]: 63: Hoare triple {11874#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} is VALID [2022-04-28 12:12:41,517 INFO L290 TraceCheckUtils]: 64: Hoare triple {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} assume !false; {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} is VALID [2022-04-28 12:12:41,517 INFO L272 TraceCheckUtils]: 65: Hoare triple {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:12:41,517 INFO L290 TraceCheckUtils]: 66: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:12:41,517 INFO L290 TraceCheckUtils]: 67: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:12:41,517 INFO L290 TraceCheckUtils]: 68: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:12:41,518 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {11727#true} {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} #74#return; {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} is VALID [2022-04-28 12:12:41,518 INFO L272 TraceCheckUtils]: 70: Hoare triple {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:12:41,518 INFO L290 TraceCheckUtils]: 71: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:12:41,518 INFO L290 TraceCheckUtils]: 72: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:12:41,518 INFO L290 TraceCheckUtils]: 73: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:12:41,519 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11727#true} {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} #76#return; {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} is VALID [2022-04-28 12:12:41,520 INFO L272 TraceCheckUtils]: 75: Hoare triple {11929#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= (- 1) (+ main_~q~0 1)) (= main_~s~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11966#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:12:41,521 INFO L290 TraceCheckUtils]: 76: Hoare triple {11966#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11970#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:12:41,521 INFO L290 TraceCheckUtils]: 77: Hoare triple {11970#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11728#false} is VALID [2022-04-28 12:12:41,521 INFO L290 TraceCheckUtils]: 78: Hoare triple {11728#false} assume !false; {11728#false} is VALID [2022-04-28 12:12:41,531 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 38 proven. 37 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2022-04-28 12:12:41,532 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:13:25,568 INFO L290 TraceCheckUtils]: 78: Hoare triple {11728#false} assume !false; {11728#false} is VALID [2022-04-28 12:13:25,569 INFO L290 TraceCheckUtils]: 77: Hoare triple {11970#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11728#false} is VALID [2022-04-28 12:13:25,570 INFO L290 TraceCheckUtils]: 76: Hoare triple {11966#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11970#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:13:25,570 INFO L272 TraceCheckUtils]: 75: Hoare triple {11986#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11966#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:13:25,571 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11727#true} {11986#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {11986#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:13:25,571 INFO L290 TraceCheckUtils]: 73: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:13:25,571 INFO L290 TraceCheckUtils]: 72: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:13:25,572 INFO L290 TraceCheckUtils]: 71: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:13:25,572 INFO L272 TraceCheckUtils]: 70: Hoare triple {11986#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:13:25,572 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {11727#true} {11986#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {11986#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:13:25,572 INFO L290 TraceCheckUtils]: 68: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:13:25,572 INFO L290 TraceCheckUtils]: 67: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:13:25,573 INFO L290 TraceCheckUtils]: 66: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:13:25,573 INFO L272 TraceCheckUtils]: 65: Hoare triple {11986#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:13:25,573 INFO L290 TraceCheckUtils]: 64: Hoare triple {11986#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {11986#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:13:25,774 INFO L290 TraceCheckUtils]: 63: Hoare triple {12023#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11986#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:13:25,775 INFO L290 TraceCheckUtils]: 62: Hoare triple {12023#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {12023#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:13:25,776 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} {12030#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #78#return; {12023#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:13:25,776 INFO L290 TraceCheckUtils]: 60: Hoare triple {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:13:25,777 INFO L290 TraceCheckUtils]: 59: Hoare triple {12040#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:13:25,777 INFO L290 TraceCheckUtils]: 58: Hoare triple {11727#true} ~cond := #in~cond; {12040#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:13:25,777 INFO L272 TraceCheckUtils]: 57: Hoare triple {12030#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:13:25,778 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {11727#true} {12030#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #76#return; {12030#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 12:13:25,778 INFO L290 TraceCheckUtils]: 55: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:13:25,778 INFO L290 TraceCheckUtils]: 54: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:13:25,778 INFO L290 TraceCheckUtils]: 53: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:13:25,778 INFO L272 TraceCheckUtils]: 52: Hoare triple {12030#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:13:25,779 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11727#true} {12030#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #74#return; {12030#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 12:13:25,779 INFO L290 TraceCheckUtils]: 50: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:13:25,779 INFO L290 TraceCheckUtils]: 49: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:13:25,779 INFO L290 TraceCheckUtils]: 48: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:13:25,779 INFO L272 TraceCheckUtils]: 47: Hoare triple {12030#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:13:25,780 INFO L290 TraceCheckUtils]: 46: Hoare triple {12030#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !false; {12030#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 12:13:26,623 INFO L290 TraceCheckUtils]: 45: Hoare triple {12080#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {12030#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 12:13:26,624 INFO L290 TraceCheckUtils]: 44: Hoare triple {12080#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} assume !!(~a~0 != ~b~0); {12080#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-28 12:13:26,625 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} {11727#true} #78#return; {12080#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-28 12:13:26,625 INFO L290 TraceCheckUtils]: 42: Hoare triple {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:13:26,626 INFO L290 TraceCheckUtils]: 41: Hoare triple {12040#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11860#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:13:26,626 INFO L290 TraceCheckUtils]: 40: Hoare triple {11727#true} ~cond := #in~cond; {12040#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:13:26,626 INFO L272 TraceCheckUtils]: 39: Hoare triple {11727#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:13:26,626 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11727#true} {11727#true} #76#return; {11727#true} is VALID [2022-04-28 12:13:26,626 INFO L290 TraceCheckUtils]: 37: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:13:26,626 INFO L290 TraceCheckUtils]: 36: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:13:26,626 INFO L290 TraceCheckUtils]: 35: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:13:26,626 INFO L272 TraceCheckUtils]: 34: Hoare triple {11727#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:13:26,626 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11727#true} {11727#true} #74#return; {11727#true} is VALID [2022-04-28 12:13:26,626 INFO L290 TraceCheckUtils]: 32: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:13:26,626 INFO L290 TraceCheckUtils]: 31: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:13:26,626 INFO L290 TraceCheckUtils]: 30: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:13:26,627 INFO L272 TraceCheckUtils]: 29: Hoare triple {11727#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:13:26,627 INFO L290 TraceCheckUtils]: 28: Hoare triple {11727#true} assume !false; {11727#true} is VALID [2022-04-28 12:13:26,627 INFO L290 TraceCheckUtils]: 27: Hoare triple {11727#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11727#true} is VALID [2022-04-28 12:13:26,627 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11727#true} {11727#true} #72#return; {11727#true} is VALID [2022-04-28 12:13:26,627 INFO L290 TraceCheckUtils]: 25: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:13:26,627 INFO L290 TraceCheckUtils]: 24: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:13:26,627 INFO L290 TraceCheckUtils]: 23: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:13:26,627 INFO L272 TraceCheckUtils]: 22: Hoare triple {11727#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:13:26,627 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11727#true} {11727#true} #70#return; {11727#true} is VALID [2022-04-28 12:13:26,627 INFO L290 TraceCheckUtils]: 20: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:13:26,627 INFO L290 TraceCheckUtils]: 19: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:13:26,627 INFO L290 TraceCheckUtils]: 18: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:13:26,628 INFO L272 TraceCheckUtils]: 17: Hoare triple {11727#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:13:26,628 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11727#true} {11727#true} #68#return; {11727#true} is VALID [2022-04-28 12:13:26,628 INFO L290 TraceCheckUtils]: 15: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:13:26,628 INFO L290 TraceCheckUtils]: 14: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:13:26,628 INFO L290 TraceCheckUtils]: 13: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:13:26,628 INFO L272 TraceCheckUtils]: 12: Hoare triple {11727#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:13:26,628 INFO L290 TraceCheckUtils]: 11: Hoare triple {11727#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11727#true} is VALID [2022-04-28 12:13:26,628 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11727#true} {11727#true} #66#return; {11727#true} is VALID [2022-04-28 12:13:26,628 INFO L290 TraceCheckUtils]: 9: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:13:26,628 INFO L290 TraceCheckUtils]: 8: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 12:13:26,628 INFO L290 TraceCheckUtils]: 7: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 12:13:26,628 INFO L272 TraceCheckUtils]: 6: Hoare triple {11727#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {11727#true} is VALID [2022-04-28 12:13:26,629 INFO L290 TraceCheckUtils]: 5: Hoare triple {11727#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11727#true} is VALID [2022-04-28 12:13:26,629 INFO L272 TraceCheckUtils]: 4: Hoare triple {11727#true} call #t~ret6 := main(); {11727#true} is VALID [2022-04-28 12:13:26,629 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11727#true} {11727#true} #88#return; {11727#true} is VALID [2022-04-28 12:13:26,629 INFO L290 TraceCheckUtils]: 2: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 12:13:26,629 INFO L290 TraceCheckUtils]: 1: Hoare triple {11727#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(10, 2);call #Ultimate.allocInit(12, 3); {11727#true} is VALID [2022-04-28 12:13:26,629 INFO L272 TraceCheckUtils]: 0: Hoare triple {11727#true} call ULTIMATE.init(); {11727#true} is VALID [2022-04-28 12:13:26,629 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 40 proven. 26 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-28 12:13:26,629 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:13:26,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [566343573] [2022-04-28 12:13:26,630 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:13:26,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [914888032] [2022-04-28 12:13:26,630 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [914888032] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:13:26,630 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:13:26,630 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 12:13:26,630 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:13:26,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [419877799] [2022-04-28 12:13:26,630 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [419877799] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:13:26,630 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:13:26,630 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:13:26,631 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1417541165] [2022-04-28 12:13:26,631 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:13:26,631 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-28 12:13:26,631 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:13:26,631 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:13:26,678 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:13:26,679 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:13:26,679 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:13:26,679 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:13:26,679 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=250, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:13:26,679 INFO L87 Difference]: Start difference. First operand 153 states and 173 transitions. Second operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:13:28,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:13:28,399 INFO L93 Difference]: Finished difference Result 175 states and 201 transitions. [2022-04-28 12:13:28,399 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 12:13:28,399 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-28 12:13:28,415 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:13:28,416 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:13:28,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 69 transitions. [2022-04-28 12:13:28,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:13:28,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 69 transitions. [2022-04-28 12:13:28,418 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 69 transitions. [2022-04-28 12:13:28,527 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-28 12:13:28,548 INFO L225 Difference]: With dead ends: 175 [2022-04-28 12:13:28,548 INFO L226 Difference]: Without dead ends: 173 [2022-04-28 12:13:28,548 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 139 SyntacticMatches, 2 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=73, Invalid=347, Unknown=0, NotChecked=0, Total=420 [2022-04-28 12:13:28,549 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 23 mSDsluCounter, 139 mSDsCounter, 0 mSdLazyCounter, 398 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 416 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 398 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 12:13:28,549 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 166 Invalid, 416 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 398 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 12:13:28,550 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-28 12:13:28,789 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 163. [2022-04-28 12:13:28,789 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:13:28,789 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 12:13:28,790 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 12:13:28,790 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 12:13:28,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:13:28,794 INFO L93 Difference]: Finished difference Result 173 states and 199 transitions. [2022-04-28 12:13:28,794 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 199 transitions. [2022-04-28 12:13:28,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:13:28,794 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:13:28,794 INFO L74 IsIncluded]: Start isIncluded. First operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 173 states. [2022-04-28 12:13:28,795 INFO L87 Difference]: Start difference. First operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 173 states. [2022-04-28 12:13:28,798 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:13:28,798 INFO L93 Difference]: Finished difference Result 173 states and 199 transitions. [2022-04-28 12:13:28,798 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 199 transitions. [2022-04-28 12:13:28,799 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:13:28,799 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:13:28,799 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:13:28,799 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:13:28,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 12:13:28,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 163 states to 163 states and 186 transitions. [2022-04-28 12:13:28,803 INFO L78 Accepts]: Start accepts. Automaton has 163 states and 186 transitions. Word has length 79 [2022-04-28 12:13:28,803 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:13:28,803 INFO L495 AbstractCegarLoop]: Abstraction has 163 states and 186 transitions. [2022-04-28 12:13:28,803 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:13:28,803 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 163 states and 186 transitions. [2022-04-28 12:13:29,667 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 186 edges. 186 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:13:29,668 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 186 transitions. [2022-04-28 12:13:29,669 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-28 12:13:29,669 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:13:29,669 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:13:29,722 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Ended with exit code 0 [2022-04-28 12:13:29,869 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 12:13:29,870 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:13:29,870 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:13:29,870 INFO L85 PathProgramCache]: Analyzing trace with hash 1804875380, now seen corresponding path program 7 times [2022-04-28 12:13:29,870 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:13:29,870 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [636623125] [2022-04-28 12:13:29,871 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:13:29,871 INFO L85 PathProgramCache]: Analyzing trace with hash 1804875380, now seen corresponding path program 8 times [2022-04-28 12:13:29,871 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:13:29,871 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1026744065] [2022-04-28 12:13:29,871 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:13:29,871 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:13:29,891 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:13:29,891 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [133480776] [2022-04-28 12:13:29,892 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:13:29,892 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:13:29,892 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:13:29,908 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:13:29,987 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 12:13:30,045 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:13:30,045 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:13:30,047 INFO L263 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-28 12:13:30,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:13:30,072 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:17:33,349 INFO L272 TraceCheckUtils]: 0: Hoare triple {13246#true} call ULTIMATE.init(); {13246#true} is VALID [2022-04-28 12:17:33,349 INFO L290 TraceCheckUtils]: 1: Hoare triple {13246#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(10, 2);call #Ultimate.allocInit(12, 3); {13246#true} is VALID [2022-04-28 12:17:33,350 INFO L290 TraceCheckUtils]: 2: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:17:33,350 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13246#true} {13246#true} #88#return; {13246#true} is VALID [2022-04-28 12:17:33,350 INFO L272 TraceCheckUtils]: 4: Hoare triple {13246#true} call #t~ret6 := main(); {13246#true} is VALID [2022-04-28 12:17:33,350 INFO L290 TraceCheckUtils]: 5: Hoare triple {13246#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {13246#true} is VALID [2022-04-28 12:17:33,350 INFO L272 TraceCheckUtils]: 6: Hoare triple {13246#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:17:33,350 INFO L290 TraceCheckUtils]: 7: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:17:33,350 INFO L290 TraceCheckUtils]: 8: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:17:33,350 INFO L290 TraceCheckUtils]: 9: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:17:33,350 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13246#true} {13246#true} #66#return; {13246#true} is VALID [2022-04-28 12:17:33,350 INFO L290 TraceCheckUtils]: 11: Hoare triple {13246#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13246#true} is VALID [2022-04-28 12:17:33,350 INFO L272 TraceCheckUtils]: 12: Hoare triple {13246#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:17:33,350 INFO L290 TraceCheckUtils]: 13: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:17:33,350 INFO L290 TraceCheckUtils]: 14: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:17:33,350 INFO L290 TraceCheckUtils]: 15: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:17:33,350 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13246#true} {13246#true} #68#return; {13246#true} is VALID [2022-04-28 12:17:33,350 INFO L272 TraceCheckUtils]: 17: Hoare triple {13246#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:17:33,351 INFO L290 TraceCheckUtils]: 18: Hoare triple {13246#true} ~cond := #in~cond; {13305#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:17:33,351 INFO L290 TraceCheckUtils]: 19: Hoare triple {13305#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {13309#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:17:33,351 INFO L290 TraceCheckUtils]: 20: Hoare triple {13309#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {13309#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:17:33,352 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13309#(not (= |assume_abort_if_not_#in~cond| 0))} {13246#true} #70#return; {13316#(<= 1 main_~x~0)} is VALID [2022-04-28 12:17:33,352 INFO L272 TraceCheckUtils]: 22: Hoare triple {13316#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:17:33,352 INFO L290 TraceCheckUtils]: 23: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:17:33,352 INFO L290 TraceCheckUtils]: 24: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:17:33,352 INFO L290 TraceCheckUtils]: 25: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:17:33,352 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13246#true} {13316#(<= 1 main_~x~0)} #72#return; {13316#(<= 1 main_~x~0)} is VALID [2022-04-28 12:17:33,353 INFO L290 TraceCheckUtils]: 27: Hoare triple {13316#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:17:33,353 INFO L290 TraceCheckUtils]: 28: Hoare triple {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:17:33,353 INFO L272 TraceCheckUtils]: 29: Hoare triple {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:17:33,353 INFO L290 TraceCheckUtils]: 30: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:17:33,353 INFO L290 TraceCheckUtils]: 31: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:17:33,353 INFO L290 TraceCheckUtils]: 32: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:17:33,354 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13246#true} {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #74#return; {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:17:33,354 INFO L272 TraceCheckUtils]: 34: Hoare triple {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:17:33,354 INFO L290 TraceCheckUtils]: 35: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:17:33,354 INFO L290 TraceCheckUtils]: 36: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:17:33,354 INFO L290 TraceCheckUtils]: 37: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:17:33,355 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {13246#true} {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #76#return; {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:17:33,355 INFO L272 TraceCheckUtils]: 39: Hoare triple {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:17:33,355 INFO L290 TraceCheckUtils]: 40: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:17:33,355 INFO L290 TraceCheckUtils]: 41: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:17:33,355 INFO L290 TraceCheckUtils]: 42: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:17:33,356 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {13246#true} {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #78#return; {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:17:33,356 INFO L290 TraceCheckUtils]: 44: Hoare triple {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:17:33,357 INFO L290 TraceCheckUtils]: 45: Hoare triple {13335#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 12:17:33,358 INFO L290 TraceCheckUtils]: 46: Hoare triple {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} assume !false; {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 12:17:33,358 INFO L272 TraceCheckUtils]: 47: Hoare triple {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:17:33,358 INFO L290 TraceCheckUtils]: 48: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:17:33,358 INFO L290 TraceCheckUtils]: 49: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:17:33,358 INFO L290 TraceCheckUtils]: 50: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:17:33,358 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13246#true} {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} #74#return; {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 12:17:33,358 INFO L272 TraceCheckUtils]: 52: Hoare triple {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:17:33,359 INFO L290 TraceCheckUtils]: 53: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:17:33,359 INFO L290 TraceCheckUtils]: 54: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:17:33,359 INFO L290 TraceCheckUtils]: 55: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:17:33,359 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13246#true} {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} #76#return; {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 12:17:33,359 INFO L272 TraceCheckUtils]: 57: Hoare triple {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:17:33,359 INFO L290 TraceCheckUtils]: 58: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:17:33,359 INFO L290 TraceCheckUtils]: 59: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:17:33,360 INFO L290 TraceCheckUtils]: 60: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:17:33,360 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13246#true} {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} #78#return; {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 12:17:33,361 INFO L290 TraceCheckUtils]: 62: Hoare triple {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} assume !!(~a~0 != ~b~0); {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 12:17:33,362 INFO L290 TraceCheckUtils]: 63: Hoare triple {13390#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13445#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:17:33,362 INFO L290 TraceCheckUtils]: 64: Hoare triple {13445#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !false; {13445#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:17:33,362 INFO L272 TraceCheckUtils]: 65: Hoare triple {13445#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:17:33,362 INFO L290 TraceCheckUtils]: 66: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:17:33,362 INFO L290 TraceCheckUtils]: 67: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:17:33,362 INFO L290 TraceCheckUtils]: 68: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:17:33,363 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13246#true} {13445#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #74#return; {13445#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:17:33,363 INFO L272 TraceCheckUtils]: 70: Hoare triple {13445#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:17:33,363 INFO L290 TraceCheckUtils]: 71: Hoare triple {13246#true} ~cond := #in~cond; {13470#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:33,364 INFO L290 TraceCheckUtils]: 72: Hoare triple {13470#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:33,364 INFO L290 TraceCheckUtils]: 73: Hoare triple {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:33,365 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} {13445#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #76#return; {13481#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:17:33,365 INFO L272 TraceCheckUtils]: 75: Hoare triple {13481#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:17:33,365 INFO L290 TraceCheckUtils]: 76: Hoare triple {13246#true} ~cond := #in~cond; {13470#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:33,365 INFO L290 TraceCheckUtils]: 77: Hoare triple {13470#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:33,366 INFO L290 TraceCheckUtils]: 78: Hoare triple {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:17:33,367 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} {13481#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (<= 1 main_~p~0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #78#return; {13497#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:17:33,367 INFO L290 TraceCheckUtils]: 80: Hoare triple {13497#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(~a~0 != ~b~0); {13497#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:17:33,374 INFO L290 TraceCheckUtils]: 81: Hoare triple {13497#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< 0 main_~a~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13504#(and (<= (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* 2 (* main_~p~0 main_~x~0))) main_~x~0) (= (mod main_~r~0 3) 0) (= (+ main_~y~0 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)) main_~x~0) (< 0 (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* main_~p~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~p~0) 2)))) (= main_~x~0 (+ (* 2 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2)))) (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* 2 (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)))) (= (mod main_~p~0 2) 0) (= main_~a~0 (+ (* (- 1) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0) (* (- 1) (* main_~x~0 (div (- main_~p~0) 2))))))} is VALID [2022-04-28 12:17:33,375 INFO L290 TraceCheckUtils]: 82: Hoare triple {13504#(and (<= (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* 2 (* main_~p~0 main_~x~0))) main_~x~0) (= (mod main_~r~0 3) 0) (= (+ main_~y~0 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)) main_~x~0) (< 0 (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* main_~p~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~p~0) 2)))) (= main_~x~0 (+ (* 2 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2)))) (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* 2 (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)))) (= (mod main_~p~0 2) 0) (= main_~a~0 (+ (* (- 1) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0) (* (- 1) (* main_~x~0 (div (- main_~p~0) 2))))))} assume !false; {13504#(and (<= (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* 2 (* main_~p~0 main_~x~0))) main_~x~0) (= (mod main_~r~0 3) 0) (= (+ main_~y~0 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)) main_~x~0) (< 0 (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* main_~p~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~p~0) 2)))) (= main_~x~0 (+ (* 2 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2)))) (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* 2 (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)))) (= (mod main_~p~0 2) 0) (= main_~a~0 (+ (* (- 1) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0) (* (- 1) (* main_~x~0 (div (- main_~p~0) 2))))))} is VALID [2022-04-28 12:17:33,375 INFO L272 TraceCheckUtils]: 83: Hoare triple {13504#(and (<= (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* 2 (* main_~p~0 main_~x~0))) main_~x~0) (= (mod main_~r~0 3) 0) (= (+ main_~y~0 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)) main_~x~0) (< 0 (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* main_~p~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~p~0) 2)))) (= main_~x~0 (+ (* 2 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2)))) (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* 2 (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)))) (= (mod main_~p~0 2) 0) (= main_~a~0 (+ (* (- 1) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0) (* (- 1) (* main_~x~0 (div (- main_~p~0) 2))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:17:33,375 INFO L290 TraceCheckUtils]: 84: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:17:33,375 INFO L290 TraceCheckUtils]: 85: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:17:33,375 INFO L290 TraceCheckUtils]: 86: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:17:33,376 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {13246#true} {13504#(and (<= (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* 2 (* main_~p~0 main_~x~0))) main_~x~0) (= (mod main_~r~0 3) 0) (= (+ main_~y~0 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)) main_~x~0) (< 0 (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* main_~p~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~p~0) 2)))) (= main_~x~0 (+ (* 2 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2)))) (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* 2 (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)))) (= (mod main_~p~0 2) 0) (= main_~a~0 (+ (* (- 1) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0) (* (- 1) (* main_~x~0 (div (- main_~p~0) 2))))))} #74#return; {13504#(and (<= (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* 2 (* main_~p~0 main_~x~0))) main_~x~0) (= (mod main_~r~0 3) 0) (= (+ main_~y~0 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)) main_~x~0) (< 0 (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* main_~p~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~p~0) 2)))) (= main_~x~0 (+ (* 2 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2)))) (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* 2 (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)))) (= (mod main_~p~0 2) 0) (= main_~a~0 (+ (* (- 1) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0) (* (- 1) (* main_~x~0 (div (- main_~p~0) 2))))))} is VALID [2022-04-28 12:17:33,377 INFO L272 TraceCheckUtils]: 88: Hoare triple {13504#(and (<= (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* 2 (* main_~p~0 main_~x~0))) main_~x~0) (= (mod main_~r~0 3) 0) (= (+ main_~y~0 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)) main_~x~0) (< 0 (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* main_~p~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~p~0) 2)))) (= main_~x~0 (+ (* 2 (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2)))) (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3)) (* 2 (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0)))) (= (mod main_~p~0 2) 0) (= main_~a~0 (+ (* (- 1) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0) (* (- 1) (* main_~x~0 (div (- main_~p~0) 2))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13526#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:17:33,377 INFO L290 TraceCheckUtils]: 89: Hoare triple {13526#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13530#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:17:33,378 INFO L290 TraceCheckUtils]: 90: Hoare triple {13530#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13247#false} is VALID [2022-04-28 12:17:33,378 INFO L290 TraceCheckUtils]: 91: Hoare triple {13247#false} assume !false; {13247#false} is VALID [2022-04-28 12:17:33,378 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 66 proven. 38 refuted. 0 times theorem prover too weak. 147 trivial. 0 not checked. [2022-04-28 12:17:33,378 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:18:12,009 INFO L290 TraceCheckUtils]: 91: Hoare triple {13247#false} assume !false; {13247#false} is VALID [2022-04-28 12:18:12,009 INFO L290 TraceCheckUtils]: 90: Hoare triple {13530#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13247#false} is VALID [2022-04-28 12:18:12,010 INFO L290 TraceCheckUtils]: 89: Hoare triple {13526#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13530#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:12,010 INFO L272 TraceCheckUtils]: 88: Hoare triple {13546#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13526#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:18:12,011 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {13246#true} {13546#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {13546#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:12,011 INFO L290 TraceCheckUtils]: 86: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:18:12,011 INFO L290 TraceCheckUtils]: 85: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:18:12,011 INFO L290 TraceCheckUtils]: 84: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:18:12,011 INFO L272 TraceCheckUtils]: 83: Hoare triple {13546#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:18:12,011 INFO L290 TraceCheckUtils]: 82: Hoare triple {13546#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {13546#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:12,942 INFO L290 TraceCheckUtils]: 81: Hoare triple {13568#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13546#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:12,943 INFO L290 TraceCheckUtils]: 80: Hoare triple {13568#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {13568#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:18:12,944 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} {13575#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #78#return; {13568#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:18:12,944 INFO L290 TraceCheckUtils]: 78: Hoare triple {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:12,944 INFO L290 TraceCheckUtils]: 77: Hoare triple {13585#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:12,945 INFO L290 TraceCheckUtils]: 76: Hoare triple {13246#true} ~cond := #in~cond; {13585#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:18:12,945 INFO L272 TraceCheckUtils]: 75: Hoare triple {13575#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:18:12,946 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} {13246#true} #76#return; {13575#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:18:12,946 INFO L290 TraceCheckUtils]: 73: Hoare triple {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:12,947 INFO L290 TraceCheckUtils]: 72: Hoare triple {13585#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13474#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:12,947 INFO L290 TraceCheckUtils]: 71: Hoare triple {13246#true} ~cond := #in~cond; {13585#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:18:12,947 INFO L272 TraceCheckUtils]: 70: Hoare triple {13246#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:18:12,947 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13246#true} {13246#true} #74#return; {13246#true} is VALID [2022-04-28 12:18:12,947 INFO L290 TraceCheckUtils]: 68: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:18:12,947 INFO L290 TraceCheckUtils]: 67: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:18:12,947 INFO L290 TraceCheckUtils]: 66: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:18:12,947 INFO L272 TraceCheckUtils]: 65: Hoare triple {13246#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:18:12,947 INFO L290 TraceCheckUtils]: 64: Hoare triple {13246#true} assume !false; {13246#true} is VALID [2022-04-28 12:18:12,947 INFO L290 TraceCheckUtils]: 63: Hoare triple {13246#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13246#true} is VALID [2022-04-28 12:18:12,947 INFO L290 TraceCheckUtils]: 62: Hoare triple {13246#true} assume !!(~a~0 != ~b~0); {13246#true} is VALID [2022-04-28 12:18:12,947 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13246#true} {13246#true} #78#return; {13246#true} is VALID [2022-04-28 12:18:12,947 INFO L290 TraceCheckUtils]: 60: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:18:12,947 INFO L290 TraceCheckUtils]: 59: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L290 TraceCheckUtils]: 58: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L272 TraceCheckUtils]: 57: Hoare triple {13246#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13246#true} {13246#true} #76#return; {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L290 TraceCheckUtils]: 55: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L290 TraceCheckUtils]: 54: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L290 TraceCheckUtils]: 53: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L272 TraceCheckUtils]: 52: Hoare triple {13246#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13246#true} {13246#true} #74#return; {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L290 TraceCheckUtils]: 50: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L290 TraceCheckUtils]: 49: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L290 TraceCheckUtils]: 48: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L272 TraceCheckUtils]: 47: Hoare triple {13246#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L290 TraceCheckUtils]: 46: Hoare triple {13246#true} assume !false; {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L290 TraceCheckUtils]: 45: Hoare triple {13246#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L290 TraceCheckUtils]: 44: Hoare triple {13246#true} assume !!(~a~0 != ~b~0); {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {13246#true} {13246#true} #78#return; {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L290 TraceCheckUtils]: 42: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L290 TraceCheckUtils]: 41: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L290 TraceCheckUtils]: 40: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:18:12,948 INFO L272 TraceCheckUtils]: 39: Hoare triple {13246#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {13246#true} {13246#true} #76#return; {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L290 TraceCheckUtils]: 37: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L290 TraceCheckUtils]: 36: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L290 TraceCheckUtils]: 35: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L272 TraceCheckUtils]: 34: Hoare triple {13246#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13246#true} {13246#true} #74#return; {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L290 TraceCheckUtils]: 32: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L290 TraceCheckUtils]: 31: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L290 TraceCheckUtils]: 30: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L272 TraceCheckUtils]: 29: Hoare triple {13246#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L290 TraceCheckUtils]: 28: Hoare triple {13246#true} assume !false; {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L290 TraceCheckUtils]: 27: Hoare triple {13246#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13246#true} {13246#true} #72#return; {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L290 TraceCheckUtils]: 25: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L290 TraceCheckUtils]: 24: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L290 TraceCheckUtils]: 23: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L272 TraceCheckUtils]: 22: Hoare triple {13246#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13246#true} {13246#true} #70#return; {13246#true} is VALID [2022-04-28 12:18:12,949 INFO L290 TraceCheckUtils]: 20: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L290 TraceCheckUtils]: 19: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L290 TraceCheckUtils]: 18: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L272 TraceCheckUtils]: 17: Hoare triple {13246#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13246#true} {13246#true} #68#return; {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L290 TraceCheckUtils]: 15: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L290 TraceCheckUtils]: 14: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L290 TraceCheckUtils]: 13: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L272 TraceCheckUtils]: 12: Hoare triple {13246#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L290 TraceCheckUtils]: 11: Hoare triple {13246#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13246#true} {13246#true} #66#return; {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L290 TraceCheckUtils]: 9: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L290 TraceCheckUtils]: 8: Hoare triple {13246#true} assume !(0 == ~cond); {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L290 TraceCheckUtils]: 7: Hoare triple {13246#true} ~cond := #in~cond; {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L272 TraceCheckUtils]: 6: Hoare triple {13246#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L290 TraceCheckUtils]: 5: Hoare triple {13246#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L272 TraceCheckUtils]: 4: Hoare triple {13246#true} call #t~ret6 := main(); {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13246#true} {13246#true} #88#return; {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L290 TraceCheckUtils]: 2: Hoare triple {13246#true} assume true; {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {13246#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(10, 2);call #Ultimate.allocInit(12, 3); {13246#true} is VALID [2022-04-28 12:18:12,950 INFO L272 TraceCheckUtils]: 0: Hoare triple {13246#true} call ULTIMATE.init(); {13246#true} is VALID [2022-04-28 12:18:12,951 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 75 proven. 8 refuted. 0 times theorem prover too weak. 168 trivial. 0 not checked. [2022-04-28 12:18:12,951 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:12,951 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1026744065] [2022-04-28 12:18:12,951 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:18:12,951 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [133480776] [2022-04-28 12:18:12,951 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [133480776] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:18:12,951 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:18:12,951 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 9] total 19 [2022-04-28 12:18:12,951 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:12,951 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [636623125] [2022-04-28 12:18:12,951 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [636623125] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:12,952 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:12,952 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 12:18:12,952 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1221824261] [2022-04-28 12:18:12,952 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:12,952 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) Word has length 92 [2022-04-28 12:18:12,952 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:12,952 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 12:18:13,017 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-28 12:18:13,017 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 12:18:13,017 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:13,018 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 12:18:13,018 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=285, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:18:13,018 INFO L87 Difference]: Start difference. First operand 163 states and 186 transitions. Second operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 12:18:19,022 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.09s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:18:29,976 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:29,976 INFO L93 Difference]: Finished difference Result 193 states and 224 transitions. [2022-04-28 12:18:29,977 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 12:18:29,977 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) Word has length 92 [2022-04-28 12:18:29,977 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:29,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 12:18:29,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-28 12:18:29,978 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 12:18:29,979 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-28 12:18:29,979 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 79 transitions. [2022-04-28 12:18:30,102 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:30,106 INFO L225 Difference]: With dead ends: 193 [2022-04-28 12:18:30,106 INFO L226 Difference]: Without dead ends: 191 [2022-04-28 12:18:30,106 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 165 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 84 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2022-04-28 12:18:30,107 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 25 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 502 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 189 SdHoareTripleChecker+Invalid, 523 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 502 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 8.6s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:30,110 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 189 Invalid, 523 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 502 Invalid, 0 Unknown, 0 Unchecked, 8.6s Time] [2022-04-28 12:18:30,111 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 191 states. [2022-04-28 12:18:30,371 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 191 to 191. [2022-04-28 12:18:30,371 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:30,385 INFO L82 GeneralOperation]: Start isEquivalent. First operand 191 states. Second operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 12:18:30,386 INFO L74 IsIncluded]: Start isIncluded. First operand 191 states. Second operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 12:18:30,386 INFO L87 Difference]: Start difference. First operand 191 states. Second operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 12:18:30,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:30,390 INFO L93 Difference]: Finished difference Result 191 states and 222 transitions. [2022-04-28 12:18:30,390 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 222 transitions. [2022-04-28 12:18:30,391 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:30,391 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:30,391 INFO L74 IsIncluded]: Start isIncluded. First operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) Second operand 191 states. [2022-04-28 12:18:30,392 INFO L87 Difference]: Start difference. First operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) Second operand 191 states. [2022-04-28 12:18:30,396 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:30,396 INFO L93 Difference]: Finished difference Result 191 states and 222 transitions. [2022-04-28 12:18:30,396 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 222 transitions. [2022-04-28 12:18:30,396 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:30,397 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:30,397 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:30,397 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:30,397 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 12:18:30,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 191 states to 191 states and 222 transitions. [2022-04-28 12:18:30,402 INFO L78 Accepts]: Start accepts. Automaton has 191 states and 222 transitions. Word has length 92 [2022-04-28 12:18:30,402 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:30,402 INFO L495 AbstractCegarLoop]: Abstraction has 191 states and 222 transitions. [2022-04-28 12:18:30,402 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 12:18:30,402 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 191 states and 222 transitions. [2022-04-28 12:18:31,733 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 222 edges. 222 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:31,733 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 222 transitions. [2022-04-28 12:18:31,734 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-28 12:18:31,734 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:31,734 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:31,775 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 12:18:31,934 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:31,935 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:31,935 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:31,935 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 9 times [2022-04-28 12:18:31,936 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:31,936 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2065205004] [2022-04-28 12:18:31,936 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:31,936 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 10 times [2022-04-28 12:18:31,936 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:31,936 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1916746781] [2022-04-28 12:18:31,936 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:31,936 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:31,955 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:31,955 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1959068191] [2022-04-28 12:18:31,955 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:18:31,955 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:31,956 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:31,956 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:18:31,958 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 12:18:32,019 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:18:32,019 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:32,021 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-28 12:18:32,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:32,041 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:22:52,638 INFO L272 TraceCheckUtils]: 0: Hoare triple {14972#true} call ULTIMATE.init(); {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L290 TraceCheckUtils]: 1: Hoare triple {14972#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(10, 2);call #Ultimate.allocInit(12, 3); {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L290 TraceCheckUtils]: 2: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14972#true} {14972#true} #88#return; {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L272 TraceCheckUtils]: 4: Hoare triple {14972#true} call #t~ret6 := main(); {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L290 TraceCheckUtils]: 5: Hoare triple {14972#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L272 TraceCheckUtils]: 6: Hoare triple {14972#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 10 then 1 else 0)); {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L290 TraceCheckUtils]: 7: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L290 TraceCheckUtils]: 8: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L290 TraceCheckUtils]: 9: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14972#true} {14972#true} #66#return; {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L290 TraceCheckUtils]: 11: Hoare triple {14972#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L272 TraceCheckUtils]: 12: Hoare triple {14972#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 10 then 1 else 0)); {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L290 TraceCheckUtils]: 13: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L290 TraceCheckUtils]: 14: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L290 TraceCheckUtils]: 15: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14972#true} {14972#true} #68#return; {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L272 TraceCheckUtils]: 17: Hoare triple {14972#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L290 TraceCheckUtils]: 18: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-28 12:22:52,639 INFO L290 TraceCheckUtils]: 19: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-28 12:22:52,640 INFO L290 TraceCheckUtils]: 20: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-28 12:22:52,640 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14972#true} {14972#true} #70#return; {14972#true} is VALID [2022-04-28 12:22:52,640 INFO L272 TraceCheckUtils]: 22: Hoare triple {14972#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14972#true} is VALID [2022-04-28 12:22:52,640 INFO L290 TraceCheckUtils]: 23: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-28 12:22:52,640 INFO L290 TraceCheckUtils]: 24: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-28 12:22:52,640 INFO L290 TraceCheckUtils]: 25: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-28 12:22:52,640 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14972#true} {14972#true} #72#return; {14972#true} is VALID [2022-04-28 12:22:52,640 INFO L290 TraceCheckUtils]: 27: Hoare triple {14972#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:52,641 INFO L290 TraceCheckUtils]: 28: Hoare triple {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:52,641 INFO L272 TraceCheckUtils]: 29: Hoare triple {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14972#true} is VALID [2022-04-28 12:22:52,641 INFO L290 TraceCheckUtils]: 30: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-28 12:22:52,641 INFO L290 TraceCheckUtils]: 31: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-28 12:22:52,641 INFO L290 TraceCheckUtils]: 32: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-28 12:22:52,642 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14972#true} {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:52,642 INFO L272 TraceCheckUtils]: 34: Hoare triple {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14972#true} is VALID [2022-04-28 12:22:52,642 INFO L290 TraceCheckUtils]: 35: Hoare triple {14972#true} ~cond := #in~cond; {15083#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:52,642 INFO L290 TraceCheckUtils]: 36: Hoare triple {15083#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:52,643 INFO L290 TraceCheckUtils]: 37: Hoare triple {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:52,643 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:52,643 INFO L272 TraceCheckUtils]: 39: Hoare triple {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14972#true} is VALID [2022-04-28 12:22:52,643 INFO L290 TraceCheckUtils]: 40: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-28 12:22:52,643 INFO L290 TraceCheckUtils]: 41: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-28 12:22:52,643 INFO L290 TraceCheckUtils]: 42: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-28 12:22:52,644 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {14972#true} {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:52,644 INFO L290 TraceCheckUtils]: 44: Hoare triple {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:52,645 INFO L290 TraceCheckUtils]: 45: Hoare triple {15058#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:52,645 INFO L290 TraceCheckUtils]: 46: Hoare triple {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:52,645 INFO L272 TraceCheckUtils]: 47: Hoare triple {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14972#true} is VALID [2022-04-28 12:22:52,645 INFO L290 TraceCheckUtils]: 48: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-28 12:22:52,645 INFO L290 TraceCheckUtils]: 49: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-28 12:22:52,645 INFO L290 TraceCheckUtils]: 50: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-28 12:22:52,646 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14972#true} {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #74#return; {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:52,646 INFO L272 TraceCheckUtils]: 52: Hoare triple {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14972#true} is VALID [2022-04-28 12:22:52,646 INFO L290 TraceCheckUtils]: 53: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-28 12:22:52,646 INFO L290 TraceCheckUtils]: 54: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-28 12:22:52,646 INFO L290 TraceCheckUtils]: 55: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-28 12:22:52,647 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14972#true} {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #76#return; {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:52,647 INFO L272 TraceCheckUtils]: 57: Hoare triple {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14972#true} is VALID [2022-04-28 12:22:52,647 INFO L290 TraceCheckUtils]: 58: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-28 12:22:52,647 INFO L290 TraceCheckUtils]: 59: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-28 12:22:52,647 INFO L290 TraceCheckUtils]: 60: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-28 12:22:52,648 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14972#true} {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #78#return; {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:52,648 INFO L290 TraceCheckUtils]: 62: Hoare triple {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:52,648 INFO L290 TraceCheckUtils]: 63: Hoare triple {15115#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {15170#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 12:22:52,649 INFO L290 TraceCheckUtils]: 64: Hoare triple {15170#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} assume !false; {15170#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 12:22:52,649 INFO L272 TraceCheckUtils]: 65: Hoare triple {15170#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14972#true} is VALID [2022-04-28 12:22:52,649 INFO L290 TraceCheckUtils]: 66: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-28 12:22:52,649 INFO L290 TraceCheckUtils]: 67: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-28 12:22:52,649 INFO L290 TraceCheckUtils]: 68: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-28 12:22:52,650 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14972#true} {15170#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} #74#return; {15170#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 12:22:52,650 INFO L272 TraceCheckUtils]: 70: Hoare triple {15170#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14972#true} is VALID [2022-04-28 12:22:52,650 INFO L290 TraceCheckUtils]: 71: Hoare triple {14972#true} ~cond := #in~cond; {15083#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:52,650 INFO L290 TraceCheckUtils]: 72: Hoare triple {15083#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:52,651 INFO L290 TraceCheckUtils]: 73: Hoare triple {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:52,651 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} {15170#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} #76#return; {15204#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 12:22:52,651 INFO L272 TraceCheckUtils]: 75: Hoare triple {15204#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14972#true} is VALID [2022-04-28 12:22:52,652 INFO L290 TraceCheckUtils]: 76: Hoare triple {14972#true} ~cond := #in~cond; {15083#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:52,652 INFO L290 TraceCheckUtils]: 77: Hoare triple {15083#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:52,652 INFO L290 TraceCheckUtils]: 78: Hoare triple {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:52,653 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {15087#(not (= |__VERIFIER_assert_#in~cond| 0))} {15204#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} #78#return; {15204#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 12:22:52,653 INFO L290 TraceCheckUtils]: 80: Hoare triple {15204#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} assume !!(~a~0 != ~b~0); {15204#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} is VALID [2022-04-28 12:22:52,666 INFO L290 TraceCheckUtils]: 81: Hoare triple {15204#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~r~0 (* (- 1) main_~s~0)) (= (+ main_~p~0 (* main_~q~0 2)) 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {15226#(and (= (mod (* main_~p~0 2) 3) 0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0) (* (- 1) main_~y~0))) (= (mod main_~r~0 2) 0) (= (+ (* (div (- main_~p~0) 3) 2) main_~p~0) 1) (= (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0)) (+ (* main_~x~0 2) (* (- 1) main_~y~0))))} is VALID [2022-04-28 12:22:52,666 INFO L290 TraceCheckUtils]: 82: Hoare triple {15226#(and (= (mod (* main_~p~0 2) 3) 0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0) (* (- 1) main_~y~0))) (= (mod main_~r~0 2) 0) (= (+ (* (div (- main_~p~0) 3) 2) main_~p~0) 1) (= (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0)) (+ (* main_~x~0 2) (* (- 1) main_~y~0))))} assume !false; {15226#(and (= (mod (* main_~p~0 2) 3) 0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0) (* (- 1) main_~y~0))) (= (mod main_~r~0 2) 0) (= (+ (* (div (- main_~p~0) 3) 2) main_~p~0) 1) (= (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0)) (+ (* main_~x~0 2) (* (- 1) main_~y~0))))} is VALID [2022-04-28 12:22:52,667 INFO L272 TraceCheckUtils]: 83: Hoare triple {15226#(and (= (mod (* main_~p~0 2) 3) 0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0) (* (- 1) main_~y~0))) (= (mod main_~r~0 2) 0) (= (+ (* (div (- main_~p~0) 3) 2) main_~p~0) 1) (= (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0)) (+ (* main_~x~0 2) (* (- 1) main_~y~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14972#true} is VALID [2022-04-28 12:22:52,667 INFO L290 TraceCheckUtils]: 84: Hoare triple {14972#true} ~cond := #in~cond; {14972#true} is VALID [2022-04-28 12:22:52,667 INFO L290 TraceCheckUtils]: 85: Hoare triple {14972#true} assume !(0 == ~cond); {14972#true} is VALID [2022-04-28 12:22:52,667 INFO L290 TraceCheckUtils]: 86: Hoare triple {14972#true} assume true; {14972#true} is VALID [2022-04-28 12:22:52,667 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {14972#true} {15226#(and (= (mod (* main_~p~0 2) 3) 0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0) (* (- 1) main_~y~0))) (= (mod main_~r~0 2) 0) (= (+ (* (div (- main_~p~0) 3) 2) main_~p~0) 1) (= (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0)) (+ (* main_~x~0 2) (* (- 1) main_~y~0))))} #74#return; {15226#(and (= (mod (* main_~p~0 2) 3) 0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0) (* (- 1) main_~y~0))) (= (mod main_~r~0 2) 0) (= (+ (* (div (- main_~p~0) 3) 2) main_~p~0) 1) (= (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0)) (+ (* main_~x~0 2) (* (- 1) main_~y~0))))} is VALID [2022-04-28 12:22:52,688 INFO L272 TraceCheckUtils]: 88: Hoare triple {15226#(and (= (mod (* main_~p~0 2) 3) 0) (= main_~a~0 (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) main_~x~0 (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0) (* (- 1) main_~y~0))) (= (mod main_~r~0 2) 0) (= (+ (* (div (- main_~p~0) 3) 2) main_~p~0) 1) (= (+ (* main_~x~0 (+ (div (- main_~p~0) 3) main_~p~0)) (* (+ (div (- main_~r~0) 2) main_~r~0) main_~y~0)) (+ (* main_~x~0 2) (* (- 1) main_~y~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15248#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:22:52,688 INFO L290 TraceCheckUtils]: 89: Hoare triple {15248#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15252#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:52,688 INFO L290 TraceCheckUtils]: 90: Hoare triple {15252#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14973#false} is VALID [2022-04-28 12:22:52,688 INFO L290 TraceCheckUtils]: 91: Hoare triple {14973#false} assume !false; {14973#false} is VALID [2022-04-28 12:22:52,689 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 56 proven. 54 refuted. 0 times theorem prover too weak. 141 trivial. 0 not checked. [2022-04-28 12:22:52,689 INFO L328 TraceCheckSpWp]: Computing backward predicates...