/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/prodbin-ll_valuebound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 14:15:13,168 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 14:15:13,172 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 14:15:13,218 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 14:15:13,218 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 14:15:13,220 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 14:15:13,222 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 14:15:13,224 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 14:15:13,226 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 14:15:13,230 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 14:15:13,231 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 14:15:13,232 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 14:15:13,232 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 14:15:13,234 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 14:15:13,234 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 14:15:13,237 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 14:15:13,238 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 14:15:13,238 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 14:15:13,240 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 14:15:13,245 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 14:15:13,246 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 14:15:13,247 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 14:15:13,248 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 14:15:13,249 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 14:15:13,250 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 14:15:13,256 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 14:15:13,256 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 14:15:13,256 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 14:15:13,257 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 14:15:13,257 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 14:15:13,258 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 14:15:13,258 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 14:15:13,259 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 14:15:13,260 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 14:15:13,260 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 14:15:13,261 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 14:15:13,261 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 14:15:13,262 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 14:15:13,262 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 14:15:13,262 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 14:15:13,262 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 14:15:13,264 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 14:15:13,264 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 14:15:13,272 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 14:15:13,272 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 14:15:13,273 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 14:15:13,274 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 14:15:13,274 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 14:15:13,274 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 14:15:13,274 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 14:15:13,274 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 14:15:13,274 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 14:15:13,275 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 14:15:13,275 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 14:15:13,275 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 14:15:13,275 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 14:15:13,275 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 14:15:13,275 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 14:15:13,276 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 14:15:13,276 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 14:15:13,276 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 14:15:13,276 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 14:15:13,276 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 14:15:13,276 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 14:15:13,276 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 14:15:13,276 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 14:15:13,493 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 14:15:13,507 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 14:15:13,509 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 14:15:13,510 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 14:15:13,510 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 14:15:13,511 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound50.c [2022-04-28 14:15:13,563 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cf19b84db/60bae8ea550a48e19d776b21911d78c7/FLAG00c31fed8 [2022-04-28 14:15:13,908 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 14:15:13,908 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound50.c [2022-04-28 14:15:13,913 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cf19b84db/60bae8ea550a48e19d776b21911d78c7/FLAG00c31fed8 [2022-04-28 14:15:14,337 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cf19b84db/60bae8ea550a48e19d776b21911d78c7 [2022-04-28 14:15:14,339 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 14:15:14,340 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 14:15:14,341 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 14:15:14,341 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 14:15:14,343 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 14:15:14,344 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 02:15:14" (1/1) ... [2022-04-28 14:15:14,345 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2d26f7eb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:15:14, skipping insertion in model container [2022-04-28 14:15:14,345 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 02:15:14" (1/1) ... [2022-04-28 14:15:14,350 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 14:15:14,360 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 14:15:14,504 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound50.c[537,550] [2022-04-28 14:15:14,516 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 14:15:14,522 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 14:15:14,533 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound50.c[537,550] [2022-04-28 14:15:14,538 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 14:15:14,549 INFO L208 MainTranslator]: Completed translation [2022-04-28 14:15:14,550 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:15:14 WrapperNode [2022-04-28 14:15:14,550 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 14:15:14,551 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 14:15:14,551 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 14:15:14,551 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 14:15:14,558 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:15:14" (1/1) ... [2022-04-28 14:15:14,558 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:15:14" (1/1) ... [2022-04-28 14:15:14,564 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:15:14" (1/1) ... [2022-04-28 14:15:14,564 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:15:14" (1/1) ... [2022-04-28 14:15:14,573 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:15:14" (1/1) ... [2022-04-28 14:15:14,577 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:15:14" (1/1) ... [2022-04-28 14:15:14,580 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:15:14" (1/1) ... [2022-04-28 14:15:14,581 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 14:15:14,582 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 14:15:14,582 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 14:15:14,582 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 14:15:14,583 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:15:14" (1/1) ... [2022-04-28 14:15:14,593 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 14:15:14,602 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:15:14,616 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 14:15:14,631 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 14:15:14,668 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 14:15:14,668 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 14:15:14,668 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 14:15:14,668 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 14:15:14,669 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 14:15:14,669 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 14:15:14,669 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 14:15:14,669 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 14:15:14,669 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 14:15:14,670 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 14:15:14,670 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 14:15:14,670 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 14:15:14,671 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 14:15:14,671 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 14:15:14,672 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 14:15:14,673 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 14:15:14,674 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 14:15:14,674 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 14:15:14,674 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 14:15:14,674 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 14:15:14,729 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 14:15:14,730 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 14:15:14,898 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 14:15:14,906 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 14:15:14,906 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 14:15:14,908 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 02:15:14 BoogieIcfgContainer [2022-04-28 14:15:14,908 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 14:15:14,910 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 14:15:14,910 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 14:15:14,920 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 14:15:14,920 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 02:15:14" (1/3) ... [2022-04-28 14:15:14,921 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@23a208fc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 02:15:14, skipping insertion in model container [2022-04-28 14:15:14,921 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:15:14" (2/3) ... [2022-04-28 14:15:14,921 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@23a208fc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 02:15:14, skipping insertion in model container [2022-04-28 14:15:14,921 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 02:15:14" (3/3) ... [2022-04-28 14:15:14,922 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound50.c [2022-04-28 14:15:14,931 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 14:15:14,932 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 14:15:14,963 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 14:15:14,968 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@3d648678, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@40dc8853 [2022-04-28 14:15:14,969 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 14:15:14,975 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:15:14,981 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:15:14,981 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:15:14,982 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:15:14,982 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:15:14,986 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:15:14,987 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 1 times [2022-04-28 14:15:14,993 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:15:14,993 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1312687175] [2022-04-28 14:15:15,002 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:15:15,003 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 2 times [2022-04-28 14:15:15,005 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:15:15,006 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [625825123] [2022-04-28 14:15:15,006 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:15:15,007 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:15:15,089 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:15:15,140 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 14:15:15,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:15:15,157 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-28 14:15:15,158 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 14:15:15,158 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-28 14:15:15,159 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 14:15:15,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:15:15,166 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:15:15,167 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:15:15,171 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:15:15,171 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 14:15:15,171 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 14:15:15,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:15:15,179 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:15:15,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:15:15,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:15:15,180 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 14:15:15,180 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 14:15:15,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:15:15,188 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:15:15,188 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:15:15,189 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:15:15,189 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-28 14:15:15,190 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 14:15:15,190 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-28 14:15:15,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 14:15:15,191 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-28 14:15:15,191 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret6 := main(); {35#true} is VALID [2022-04-28 14:15:15,191 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-28 14:15:15,192 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {35#true} is VALID [2022-04-28 14:15:15,192 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:15:15,192 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:15:15,193 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:15:15,193 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 14:15:15,193 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-28 14:15:15,194 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {35#true} is VALID [2022-04-28 14:15:15,194 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:15:15,194 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:15:15,195 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:15:15,195 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 14:15:15,195 INFO L272 TraceCheckUtils]: 17: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {35#true} is VALID [2022-04-28 14:15:15,195 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:15:15,196 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:15:15,196 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:15:15,196 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-28 14:15:15,197 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {36#false} is VALID [2022-04-28 14:15:15,197 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} assume false; {36#false} is VALID [2022-04-28 14:15:15,197 INFO L272 TraceCheckUtils]: 24: Hoare triple {36#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {36#false} is VALID [2022-04-28 14:15:15,198 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-28 14:15:15,198 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-28 14:15:15,199 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-28 14:15:15,199 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:15:15,200 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:15:15,201 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [625825123] [2022-04-28 14:15:15,201 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [625825123] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:15:15,201 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:15:15,202 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 14:15:15,204 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:15:15,204 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1312687175] [2022-04-28 14:15:15,205 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1312687175] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:15:15,205 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:15:15,205 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 14:15:15,205 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [903206334] [2022-04-28 14:15:15,206 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:15:15,209 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 14:15:15,211 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:15:15,213 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:15:15,253 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:15:15,253 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 14:15:15,254 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:15:15,270 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 14:15:15,271 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 14:15:15,273 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:15:15,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:15,418 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-28 14:15:15,418 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 14:15:15,418 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 14:15:15,418 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:15:15,419 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:15:15,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 14:15:15,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:15:15,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 14:15:15,433 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-28 14:15:15,509 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:15:15,516 INFO L225 Difference]: With dead ends: 57 [2022-04-28 14:15:15,516 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 14:15:15,518 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 14:15:15,521 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 19 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:15:15,522 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:15:15,535 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 14:15:15,547 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 14:15:15,547 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:15:15,548 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:15:15,549 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:15:15,549 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:15:15,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:15,553 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 14:15:15,553 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 14:15:15,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:15,554 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:15:15,554 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-28 14:15:15,555 INFO L87 Difference]: Start difference. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-28 14:15:15,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:15,558 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 14:15:15,558 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 14:15:15,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:15,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:15:15,559 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:15:15,559 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:15:15,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 14:15:15,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-28 14:15:15,562 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-28 14:15:15,562 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:15:15,563 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-28 14:15:15,563 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:15:15,563 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 31 transitions. [2022-04-28 14:15:15,600 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 14:15:15,601 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 14:15:15,602 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:15:15,602 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:15:15,602 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:15:15,603 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 14:15:15,603 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:15:15,605 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:15:15,605 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 1 times [2022-04-28 14:15:15,605 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:15:15,606 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [744033197] [2022-04-28 14:15:15,609 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:15:15,610 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 2 times [2022-04-28 14:15:15,610 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:15:15,613 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [855069767] [2022-04-28 14:15:15,613 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:15:15,614 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:15:15,653 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:15:15,654 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1123943388] [2022-04-28 14:15:15,654 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:15:15,654 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:15:15,654 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:15:15,659 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 14:15:15,712 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 14:15:15,732 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 14:15:15,732 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:15:15,734 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 14:15:15,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:15:15,747 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:15:15,924 INFO L272 TraceCheckUtils]: 0: Hoare triple {277#true} call ULTIMATE.init(); {277#true} is VALID [2022-04-28 14:15:15,924 INFO L290 TraceCheckUtils]: 1: Hoare triple {277#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {277#true} is VALID [2022-04-28 14:15:15,924 INFO L290 TraceCheckUtils]: 2: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:15:15,924 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {277#true} {277#true} #71#return; {277#true} is VALID [2022-04-28 14:15:15,926 INFO L272 TraceCheckUtils]: 4: Hoare triple {277#true} call #t~ret6 := main(); {277#true} is VALID [2022-04-28 14:15:15,928 INFO L290 TraceCheckUtils]: 5: Hoare triple {277#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {277#true} is VALID [2022-04-28 14:15:15,929 INFO L272 TraceCheckUtils]: 6: Hoare triple {277#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {277#true} is VALID [2022-04-28 14:15:15,929 INFO L290 TraceCheckUtils]: 7: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 14:15:15,929 INFO L290 TraceCheckUtils]: 8: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 14:15:15,931 INFO L290 TraceCheckUtils]: 9: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:15:15,931 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {277#true} {277#true} #61#return; {277#true} is VALID [2022-04-28 14:15:15,932 INFO L290 TraceCheckUtils]: 11: Hoare triple {277#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {277#true} is VALID [2022-04-28 14:15:15,932 INFO L272 TraceCheckUtils]: 12: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {277#true} is VALID [2022-04-28 14:15:15,932 INFO L290 TraceCheckUtils]: 13: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 14:15:15,933 INFO L290 TraceCheckUtils]: 14: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 14:15:15,933 INFO L290 TraceCheckUtils]: 15: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:15:15,933 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {277#true} {277#true} #63#return; {277#true} is VALID [2022-04-28 14:15:15,933 INFO L272 TraceCheckUtils]: 17: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {277#true} is VALID [2022-04-28 14:15:15,933 INFO L290 TraceCheckUtils]: 18: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 14:15:15,933 INFO L290 TraceCheckUtils]: 19: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 14:15:15,934 INFO L290 TraceCheckUtils]: 20: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:15:15,934 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {277#true} {277#true} #65#return; {277#true} is VALID [2022-04-28 14:15:15,935 INFO L290 TraceCheckUtils]: 22: Hoare triple {277#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:15:15,935 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:15:15,936 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {355#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:15:15,937 INFO L290 TraceCheckUtils]: 25: Hoare triple {355#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {359#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:15:15,938 INFO L290 TraceCheckUtils]: 26: Hoare triple {359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {278#false} is VALID [2022-04-28 14:15:15,938 INFO L290 TraceCheckUtils]: 27: Hoare triple {278#false} assume !false; {278#false} is VALID [2022-04-28 14:15:15,938 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:15:15,939 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 14:15:15,939 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:15:15,939 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [855069767] [2022-04-28 14:15:15,940 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:15:15,940 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1123943388] [2022-04-28 14:15:15,941 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1123943388] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:15:15,941 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:15:15,941 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:15:15,942 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:15:15,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [744033197] [2022-04-28 14:15:15,942 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [744033197] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:15:15,943 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:15:15,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:15:15,943 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1651552076] [2022-04-28 14:15:15,943 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:15:15,945 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 14:15:15,945 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:15:15,945 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:15:15,963 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:15:15,963 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 14:15:15,963 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:15:15,964 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 14:15:15,965 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 14:15:15,965 INFO L87 Difference]: Start difference. First operand 27 states and 31 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:15:16,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:16,120 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-28 14:15:16,120 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 14:15:16,121 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 14:15:16,121 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:15:16,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:15:16,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-28 14:15:16,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:15:16,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-28 14:15:16,137 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-28 14:15:16,172 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:15:16,176 INFO L225 Difference]: With dead ends: 39 [2022-04-28 14:15:16,177 INFO L226 Difference]: Without dead ends: 37 [2022-04-28 14:15:16,178 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 14:15:16,183 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 8 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:15:16,187 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 87 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:15:16,190 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-28 14:15:16,207 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-28 14:15:16,208 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:15:16,208 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:15:16,208 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:15:16,209 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:15:16,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:16,214 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 14:15:16,214 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 14:15:16,215 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:16,215 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:15:16,217 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-28 14:15:16,218 INFO L87 Difference]: Start difference. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-28 14:15:16,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:16,225 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 14:15:16,225 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 14:15:16,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:16,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:15:16,226 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:15:16,226 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:15:16,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:15:16,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-28 14:15:16,228 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-28 14:15:16,228 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:15:16,228 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-28 14:15:16,229 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:15:16,229 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-28 14:15:16,271 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:15:16,271 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-28 14:15:16,272 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 14:15:16,272 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:15:16,272 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:15:16,304 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 14:15:16,494 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 14:15:16,495 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:15:16,496 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:15:16,496 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 1 times [2022-04-28 14:15:16,496 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:15:16,496 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2087231182] [2022-04-28 14:15:16,496 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:15:16,497 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 2 times [2022-04-28 14:15:16,497 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:15:16,497 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [115345615] [2022-04-28 14:15:16,497 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:15:16,497 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:15:16,516 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:15:16,516 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1470041677] [2022-04-28 14:15:16,517 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:15:16,517 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:15:16,517 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:15:16,523 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 14:15:16,525 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 14:15:16,574 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:15:16,574 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:15:16,575 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 14:15:16,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:15:16,591 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:15:16,734 INFO L272 TraceCheckUtils]: 0: Hoare triple {585#true} call ULTIMATE.init(); {585#true} is VALID [2022-04-28 14:15:16,734 INFO L290 TraceCheckUtils]: 1: Hoare triple {585#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {585#true} is VALID [2022-04-28 14:15:16,735 INFO L290 TraceCheckUtils]: 2: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:15:16,735 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {585#true} {585#true} #71#return; {585#true} is VALID [2022-04-28 14:15:16,735 INFO L272 TraceCheckUtils]: 4: Hoare triple {585#true} call #t~ret6 := main(); {585#true} is VALID [2022-04-28 14:15:16,735 INFO L290 TraceCheckUtils]: 5: Hoare triple {585#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {585#true} is VALID [2022-04-28 14:15:16,735 INFO L272 TraceCheckUtils]: 6: Hoare triple {585#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {585#true} is VALID [2022-04-28 14:15:16,735 INFO L290 TraceCheckUtils]: 7: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 14:15:16,736 INFO L290 TraceCheckUtils]: 8: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 14:15:16,736 INFO L290 TraceCheckUtils]: 9: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:15:16,736 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {585#true} {585#true} #61#return; {585#true} is VALID [2022-04-28 14:15:16,736 INFO L290 TraceCheckUtils]: 11: Hoare triple {585#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {585#true} is VALID [2022-04-28 14:15:16,736 INFO L272 TraceCheckUtils]: 12: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {585#true} is VALID [2022-04-28 14:15:16,737 INFO L290 TraceCheckUtils]: 13: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 14:15:16,737 INFO L290 TraceCheckUtils]: 14: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 14:15:16,737 INFO L290 TraceCheckUtils]: 15: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:15:16,737 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {585#true} {585#true} #63#return; {585#true} is VALID [2022-04-28 14:15:16,737 INFO L272 TraceCheckUtils]: 17: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {585#true} is VALID [2022-04-28 14:15:16,738 INFO L290 TraceCheckUtils]: 18: Hoare triple {585#true} ~cond := #in~cond; {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:15:16,738 INFO L290 TraceCheckUtils]: 19: Hoare triple {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:15:16,739 INFO L290 TraceCheckUtils]: 20: Hoare triple {648#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:15:16,740 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {648#(not (= |assume_abort_if_not_#in~cond| 0))} {585#true} #65#return; {655#(<= 1 main_~b~0)} is VALID [2022-04-28 14:15:16,740 INFO L290 TraceCheckUtils]: 22: Hoare triple {655#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 14:15:16,741 INFO L290 TraceCheckUtils]: 23: Hoare triple {659#(<= 1 main_~y~0)} assume !false; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 14:15:16,741 INFO L272 TraceCheckUtils]: 24: Hoare triple {659#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {585#true} is VALID [2022-04-28 14:15:16,741 INFO L290 TraceCheckUtils]: 25: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 14:15:16,741 INFO L290 TraceCheckUtils]: 26: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 14:15:16,741 INFO L290 TraceCheckUtils]: 27: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:15:16,742 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {585#true} {659#(<= 1 main_~y~0)} #67#return; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 14:15:16,745 INFO L290 TraceCheckUtils]: 29: Hoare triple {659#(<= 1 main_~y~0)} assume !(0 != ~y~0); {586#false} is VALID [2022-04-28 14:15:16,745 INFO L272 TraceCheckUtils]: 30: Hoare triple {586#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {586#false} is VALID [2022-04-28 14:15:16,745 INFO L290 TraceCheckUtils]: 31: Hoare triple {586#false} ~cond := #in~cond; {586#false} is VALID [2022-04-28 14:15:16,746 INFO L290 TraceCheckUtils]: 32: Hoare triple {586#false} assume 0 == ~cond; {586#false} is VALID [2022-04-28 14:15:16,746 INFO L290 TraceCheckUtils]: 33: Hoare triple {586#false} assume !false; {586#false} is VALID [2022-04-28 14:15:16,747 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:15:16,747 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 14:15:16,747 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:15:16,747 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [115345615] [2022-04-28 14:15:16,747 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:15:16,747 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1470041677] [2022-04-28 14:15:16,748 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1470041677] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:15:16,748 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:15:16,748 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 14:15:16,748 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:15:16,748 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2087231182] [2022-04-28 14:15:16,748 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2087231182] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:15:16,749 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:15:16,749 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 14:15:16,749 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [517285110] [2022-04-28 14:15:16,749 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:15:16,749 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 14:15:16,750 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:15:16,750 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:15:16,773 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 14:15:16,773 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 14:15:16,774 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:15:16,774 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 14:15:16,774 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 14:15:16,774 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:15:16,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:16,951 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-28 14:15:16,951 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 14:15:16,951 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 14:15:16,951 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:15:16,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:15:16,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 14:15:16,953 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:15:16,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 14:15:16,955 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-28 14:15:17,001 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:15:17,005 INFO L225 Difference]: With dead ends: 43 [2022-04-28 14:15:17,007 INFO L226 Difference]: Without dead ends: 36 [2022-04-28 14:15:17,008 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 14:15:17,010 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 14 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:15:17,011 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 89 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:15:17,011 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-28 14:15:17,034 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-28 14:15:17,034 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:15:17,034 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:15:17,034 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:15:17,035 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:15:17,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:17,037 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 14:15:17,037 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 14:15:17,037 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:17,037 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:15:17,038 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-28 14:15:17,038 INFO L87 Difference]: Start difference. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-28 14:15:17,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:17,040 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 14:15:17,040 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 14:15:17,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:17,040 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:15:17,041 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:15:17,041 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:15:17,041 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:15:17,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-28 14:15:17,042 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-28 14:15:17,043 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:15:17,043 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-28 14:15:17,043 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:15:17,043 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 38 transitions. [2022-04-28 14:15:17,079 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:15:17,080 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-28 14:15:17,080 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 14:15:17,080 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:15:17,081 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:15:17,106 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 14:15:17,295 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 14:15:17,296 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:15:17,296 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:15:17,296 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 1 times [2022-04-28 14:15:17,296 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:15:17,296 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [211386079] [2022-04-28 14:15:17,297 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:15:17,297 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 2 times [2022-04-28 14:15:17,297 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:15:17,297 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [410263116] [2022-04-28 14:15:17,297 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:15:17,297 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:15:17,315 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:15:17,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1158095133] [2022-04-28 14:15:17,316 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:15:17,316 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:15:17,316 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:15:17,317 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 14:15:17,339 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 14:15:17,370 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:15:17,371 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:15:17,371 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 14:15:17,482 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:15:17,483 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:15:18,809 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-28 14:15:18,810 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {922#true} is VALID [2022-04-28 14:15:18,810 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:15:18,810 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-28 14:15:18,810 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-28 14:15:18,811 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {922#true} is VALID [2022-04-28 14:15:18,811 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {922#true} is VALID [2022-04-28 14:15:18,811 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:15:18,811 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:15:18,811 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:15:18,811 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-28 14:15:18,812 INFO L290 TraceCheckUtils]: 11: Hoare triple {922#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {922#true} is VALID [2022-04-28 14:15:18,812 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {922#true} is VALID [2022-04-28 14:15:18,812 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:15:18,812 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:15:18,812 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:15:18,812 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-28 14:15:18,812 INFO L272 TraceCheckUtils]: 17: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-28 14:15:18,813 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:15:18,813 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:15:18,813 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:15:18,813 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-28 14:15:18,823 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:15:18,824 INFO L290 TraceCheckUtils]: 23: Hoare triple {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:15:18,824 INFO L272 TraceCheckUtils]: 24: Hoare triple {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-28 14:15:18,825 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:15:18,825 INFO L290 TraceCheckUtils]: 26: Hoare triple {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:15:18,826 INFO L290 TraceCheckUtils]: 27: Hoare triple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:15:18,827 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} {993#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {1014#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:15:18,827 INFO L290 TraceCheckUtils]: 29: Hoare triple {1014#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1018#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:15:18,829 INFO L290 TraceCheckUtils]: 30: Hoare triple {1018#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1022#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:15:18,832 INFO L290 TraceCheckUtils]: 31: Hoare triple {1022#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:15:18,833 INFO L290 TraceCheckUtils]: 32: Hoare triple {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:15:19,066 INFO L272 TraceCheckUtils]: 33: Hoare triple {1026#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:15:19,067 INFO L290 TraceCheckUtils]: 34: Hoare triple {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1037#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:15:19,068 INFO L290 TraceCheckUtils]: 35: Hoare triple {1037#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-28 14:15:19,068 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-28 14:15:19,068 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:15:19,068 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:16:21,726 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-28 14:16:21,727 INFO L290 TraceCheckUtils]: 35: Hoare triple {1037#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-28 14:16:21,728 INFO L290 TraceCheckUtils]: 34: Hoare triple {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1037#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:16:21,729 INFO L272 TraceCheckUtils]: 33: Hoare triple {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1033#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:16:21,729 INFO L290 TraceCheckUtils]: 32: Hoare triple {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:16:21,735 INFO L290 TraceCheckUtils]: 31: Hoare triple {1060#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1053#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:16:21,738 INFO L290 TraceCheckUtils]: 30: Hoare triple {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1060#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:16:21,738 INFO L290 TraceCheckUtils]: 29: Hoare triple {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 14:16:21,975 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} {922#true} #67#return; {1064#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 14:16:21,976 INFO L290 TraceCheckUtils]: 27: Hoare triple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:16:21,976 INFO L290 TraceCheckUtils]: 26: Hoare triple {1080#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:16:21,977 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1080#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:16:21,977 INFO L272 TraceCheckUtils]: 24: Hoare triple {922#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-28 14:16:21,977 INFO L290 TraceCheckUtils]: 23: Hoare triple {922#true} assume !false; {922#true} is VALID [2022-04-28 14:16:21,977 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {922#true} is VALID [2022-04-28 14:16:21,977 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-28 14:16:21,977 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:16:21,977 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:16:21,978 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:16:21,978 INFO L272 TraceCheckUtils]: 17: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-28 14:16:21,978 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-28 14:16:21,978 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:16:21,978 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:16:21,978 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:16:21,978 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {922#true} is VALID [2022-04-28 14:16:21,978 INFO L290 TraceCheckUtils]: 11: Hoare triple {922#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {922#true} is VALID [2022-04-28 14:16:21,978 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-28 14:16:21,979 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:16:21,979 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:16:21,979 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:16:21,979 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {922#true} is VALID [2022-04-28 14:16:21,979 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {922#true} is VALID [2022-04-28 14:16:21,979 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-28 14:16:21,979 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-28 14:16:21,979 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:16:21,980 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {922#true} is VALID [2022-04-28 14:16:21,980 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-28 14:16:21,980 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:16:21,980 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:16:21,980 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [410263116] [2022-04-28 14:16:21,981 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:16:21,981 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1158095133] [2022-04-28 14:16:21,981 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1158095133] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:16:21,981 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:16:21,981 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-28 14:16:21,981 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:16:21,981 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [211386079] [2022-04-28 14:16:21,981 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [211386079] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:16:21,982 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:16:21,982 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 14:16:21,982 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [910299543] [2022-04-28 14:16:21,982 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:16:21,982 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 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 37 [2022-04-28 14:16:21,983 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:16:21,983 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 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 14:16:24,014 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:16:24,014 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 14:16:24,014 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:16:24,015 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 14:16:24,015 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=166, Unknown=2, NotChecked=0, Total=210 [2022-04-28 14:16:24,016 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 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 14:16:31,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:16:31,980 INFO L93 Difference]: Finished difference Result 49 states and 56 transitions. [2022-04-28 14:16:31,981 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 14:16:31,981 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 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 37 [2022-04-28 14:16:31,981 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:16:31,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 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 14:16:31,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-28 14:16:31,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 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 14:16:31,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-28 14:16:31,985 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 53 transitions. [2022-04-28 14:16:32,348 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 14:16:32,350 INFO L225 Difference]: With dead ends: 49 [2022-04-28 14:16:32,350 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 14:16:32,350 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 58 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 8.7s TimeCoverageRelationStatistics Valid=55, Invalid=215, Unknown=2, NotChecked=0, Total=272 [2022-04-28 14:16:32,351 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 19 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 154 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 158 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 154 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.8s IncrementalHoareTripleChecker+Time [2022-04-28 14:16:32,351 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 149 Invalid, 158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 154 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-04-28 14:16:32,352 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 14:16:32,384 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 42. [2022-04-28 14:16:32,384 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:16:32,385 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:16:32,385 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:16:32,385 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:16:32,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:16:32,387 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-28 14:16:32,388 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-28 14:16:32,388 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:16:32,388 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:16:32,388 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-28 14:16:32,389 INFO L87 Difference]: Start difference. First operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-28 14:16:32,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:16:32,391 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-28 14:16:32,391 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-28 14:16:32,391 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:16:32,391 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:16:32,391 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:16:32,391 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:16:32,392 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:16:32,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 47 transitions. [2022-04-28 14:16:32,393 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 47 transitions. Word has length 37 [2022-04-28 14:16:32,393 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:16:32,394 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 47 transitions. [2022-04-28 14:16:32,394 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 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 14:16:32,394 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 47 transitions. [2022-04-28 14:16:33,664 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 14:16:33,665 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2022-04-28 14:16:33,665 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 14:16:33,665 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:16:33,666 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:16:33,695 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 14:16:33,866 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 14:16:33,866 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:16:33,867 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:16:33,867 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 1 times [2022-04-28 14:16:33,867 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:16:33,867 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1014629313] [2022-04-28 14:16:33,867 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:16:33,868 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 2 times [2022-04-28 14:16:33,868 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:16:33,868 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1684807287] [2022-04-28 14:16:33,868 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:16:33,868 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:16:33,886 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:16:33,886 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [837744152] [2022-04-28 14:16:33,886 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:16:33,886 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:16:33,887 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:16:33,903 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 14:16:33,912 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 14:16:33,996 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:16:33,996 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:16:33,998 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 14:16:34,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:16:34,010 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:16:48,450 INFO L272 TraceCheckUtils]: 0: Hoare triple {1438#true} call ULTIMATE.init(); {1438#true} is VALID [2022-04-28 14:16:48,450 INFO L290 TraceCheckUtils]: 1: Hoare triple {1438#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {1438#true} is VALID [2022-04-28 14:16:48,450 INFO L290 TraceCheckUtils]: 2: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 14:16:48,450 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1438#true} {1438#true} #71#return; {1438#true} is VALID [2022-04-28 14:16:48,451 INFO L272 TraceCheckUtils]: 4: Hoare triple {1438#true} call #t~ret6 := main(); {1438#true} is VALID [2022-04-28 14:16:48,451 INFO L290 TraceCheckUtils]: 5: Hoare triple {1438#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1438#true} is VALID [2022-04-28 14:16:48,451 INFO L272 TraceCheckUtils]: 6: Hoare triple {1438#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {1438#true} is VALID [2022-04-28 14:16:48,451 INFO L290 TraceCheckUtils]: 7: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-28 14:16:48,451 INFO L290 TraceCheckUtils]: 8: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-28 14:16:48,451 INFO L290 TraceCheckUtils]: 9: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 14:16:48,452 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1438#true} {1438#true} #61#return; {1438#true} is VALID [2022-04-28 14:16:48,452 INFO L290 TraceCheckUtils]: 11: Hoare triple {1438#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1438#true} is VALID [2022-04-28 14:16:48,452 INFO L272 TraceCheckUtils]: 12: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {1438#true} is VALID [2022-04-28 14:16:48,452 INFO L290 TraceCheckUtils]: 13: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-28 14:16:48,452 INFO L290 TraceCheckUtils]: 14: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-28 14:16:48,452 INFO L290 TraceCheckUtils]: 15: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 14:16:48,452 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1438#true} {1438#true} #63#return; {1438#true} is VALID [2022-04-28 14:16:48,453 INFO L272 TraceCheckUtils]: 17: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1438#true} is VALID [2022-04-28 14:16:48,453 INFO L290 TraceCheckUtils]: 18: Hoare triple {1438#true} ~cond := #in~cond; {1497#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:16:48,457 INFO L290 TraceCheckUtils]: 19: Hoare triple {1497#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:16:48,457 INFO L290 TraceCheckUtils]: 20: Hoare triple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:16:48,458 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} {1438#true} #65#return; {1508#(<= 1 main_~b~0)} is VALID [2022-04-28 14:16:48,458 INFO L290 TraceCheckUtils]: 22: Hoare triple {1508#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:16:48,459 INFO L290 TraceCheckUtils]: 23: Hoare triple {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:16:48,459 INFO L272 TraceCheckUtils]: 24: Hoare triple {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1438#true} is VALID [2022-04-28 14:16:48,459 INFO L290 TraceCheckUtils]: 25: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-28 14:16:48,459 INFO L290 TraceCheckUtils]: 26: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-28 14:16:48,459 INFO L290 TraceCheckUtils]: 27: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 14:16:48,460 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1438#true} {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:16:48,461 INFO L290 TraceCheckUtils]: 29: Hoare triple {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:16:48,461 INFO L290 TraceCheckUtils]: 30: Hoare triple {1512#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1537#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:16:48,462 INFO L290 TraceCheckUtils]: 31: Hoare triple {1537#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1541#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:16:48,463 INFO L290 TraceCheckUtils]: 32: Hoare triple {1541#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {1541#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:16:48,465 INFO L272 TraceCheckUtils]: 33: Hoare triple {1541#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:16:48,466 INFO L290 TraceCheckUtils]: 34: Hoare triple {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1552#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:16:48,466 INFO L290 TraceCheckUtils]: 35: Hoare triple {1552#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1439#false} is VALID [2022-04-28 14:16:48,466 INFO L290 TraceCheckUtils]: 36: Hoare triple {1439#false} assume !false; {1439#false} is VALID [2022-04-28 14:16:48,467 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:16:48,467 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:17:20,837 INFO L290 TraceCheckUtils]: 36: Hoare triple {1439#false} assume !false; {1439#false} is VALID [2022-04-28 14:17:20,838 INFO L290 TraceCheckUtils]: 35: Hoare triple {1552#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1439#false} is VALID [2022-04-28 14:17:20,838 INFO L290 TraceCheckUtils]: 34: Hoare triple {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1552#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:17:20,839 INFO L272 TraceCheckUtils]: 33: Hoare triple {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1548#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:17:20,839 INFO L290 TraceCheckUtils]: 32: Hoare triple {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:17:20,845 INFO L290 TraceCheckUtils]: 31: Hoare triple {1575#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1568#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:17:20,846 INFO L290 TraceCheckUtils]: 30: Hoare triple {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1575#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:17:20,847 INFO L290 TraceCheckUtils]: 29: Hoare triple {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:17:20,848 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1438#true} {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #67#return; {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:17:20,848 INFO L290 TraceCheckUtils]: 27: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 14:17:20,848 INFO L290 TraceCheckUtils]: 26: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-28 14:17:20,848 INFO L290 TraceCheckUtils]: 25: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-28 14:17:20,848 INFO L272 TraceCheckUtils]: 24: Hoare triple {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1438#true} is VALID [2022-04-28 14:17:20,849 INFO L290 TraceCheckUtils]: 23: Hoare triple {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !false; {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:17:20,853 INFO L290 TraceCheckUtils]: 22: Hoare triple {1604#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1579#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:17:20,854 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} {1438#true} #65#return; {1604#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-28 14:17:20,854 INFO L290 TraceCheckUtils]: 20: Hoare triple {1501#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:17:20,855 INFO L290 TraceCheckUtils]: 19: Hoare triple {1617#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1501#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:17:20,855 INFO L290 TraceCheckUtils]: 18: Hoare triple {1438#true} ~cond := #in~cond; {1617#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 14:17:20,855 INFO L272 TraceCheckUtils]: 17: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1438#true} is VALID [2022-04-28 14:17:20,855 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1438#true} {1438#true} #63#return; {1438#true} is VALID [2022-04-28 14:17:20,855 INFO L290 TraceCheckUtils]: 15: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 14:17:20,856 INFO L290 TraceCheckUtils]: 14: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-28 14:17:20,856 INFO L290 TraceCheckUtils]: 13: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-28 14:17:20,856 INFO L272 TraceCheckUtils]: 12: Hoare triple {1438#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {1438#true} is VALID [2022-04-28 14:17:20,856 INFO L290 TraceCheckUtils]: 11: Hoare triple {1438#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1438#true} is VALID [2022-04-28 14:17:20,856 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1438#true} {1438#true} #61#return; {1438#true} is VALID [2022-04-28 14:17:20,856 INFO L290 TraceCheckUtils]: 9: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 14:17:20,856 INFO L290 TraceCheckUtils]: 8: Hoare triple {1438#true} assume !(0 == ~cond); {1438#true} is VALID [2022-04-28 14:17:20,856 INFO L290 TraceCheckUtils]: 7: Hoare triple {1438#true} ~cond := #in~cond; {1438#true} is VALID [2022-04-28 14:17:20,857 INFO L272 TraceCheckUtils]: 6: Hoare triple {1438#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {1438#true} is VALID [2022-04-28 14:17:20,857 INFO L290 TraceCheckUtils]: 5: Hoare triple {1438#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1438#true} is VALID [2022-04-28 14:17:20,857 INFO L272 TraceCheckUtils]: 4: Hoare triple {1438#true} call #t~ret6 := main(); {1438#true} is VALID [2022-04-28 14:17:20,857 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1438#true} {1438#true} #71#return; {1438#true} is VALID [2022-04-28 14:17:20,857 INFO L290 TraceCheckUtils]: 2: Hoare triple {1438#true} assume true; {1438#true} is VALID [2022-04-28 14:17:20,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {1438#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {1438#true} is VALID [2022-04-28 14:17:20,857 INFO L272 TraceCheckUtils]: 0: Hoare triple {1438#true} call ULTIMATE.init(); {1438#true} is VALID [2022-04-28 14:17:20,858 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:17:20,858 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:17:20,858 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1684807287] [2022-04-28 14:17:20,858 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:17:20,858 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [837744152] [2022-04-28 14:17:20,858 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [837744152] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:17:20,858 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:17:20,858 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-04-28 14:17:20,859 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:17:20,859 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1014629313] [2022-04-28 14:17:20,859 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1014629313] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:17:20,859 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:17:20,859 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 14:17:20,859 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1984975376] [2022-04-28 14:17:20,859 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:17:20,860 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 14:17:20,860 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:17:20,860 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:17:20,890 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 14:17:20,890 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 14:17:20,891 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:17:20,891 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 14:17:20,891 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-28 14:17:20,891 INFO L87 Difference]: Start difference. First operand 42 states and 47 transitions. Second operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:17:21,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:17:21,466 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2022-04-28 14:17:21,466 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 14:17:21,467 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 14:17:21,467 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:17:21,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:17:21,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-28 14:17:21,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:17:21,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-28 14:17:21,470 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 56 transitions. [2022-04-28 14:17:21,524 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:17:21,525 INFO L225 Difference]: With dead ends: 59 [2022-04-28 14:17:21,525 INFO L226 Difference]: Without dead ends: 52 [2022-04-28 14:17:21,525 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 59 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-28 14:17:21,526 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 19 mSDsluCounter, 106 mSDsCounter, 0 mSdLazyCounter, 178 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 183 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 178 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 14:17:21,526 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 129 Invalid, 183 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 178 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 14:17:21,527 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-28 14:17:21,572 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 50. [2022-04-28 14:17:21,572 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:17:21,573 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:17:21,573 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:17:21,573 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:17:21,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:17:21,577 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-28 14:17:21,577 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-28 14:17:21,577 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:17:21,577 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:17:21,578 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 52 states. [2022-04-28 14:17:21,578 INFO L87 Difference]: Start difference. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 52 states. [2022-04-28 14:17:21,583 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:17:21,584 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-28 14:17:21,584 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-28 14:17:21,584 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:17:21,584 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:17:21,584 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:17:21,584 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:17:21,585 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:17:21,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 14:17:21,587 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 37 [2022-04-28 14:17:21,587 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:17:21,587 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 14:17:21,587 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:17:21,587 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 14:17:23,689 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 54 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:17:23,690 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 14:17:23,690 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 14:17:23,690 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:17:23,690 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:17:23,707 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 14:17:23,890 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 14:17:23,891 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:17:23,891 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:17:23,892 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 1 times [2022-04-28 14:17:23,892 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:17:23,892 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1377477285] [2022-04-28 14:17:23,892 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:17:23,892 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 2 times [2022-04-28 14:17:23,893 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:17:23,893 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [403211912] [2022-04-28 14:17:23,893 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:17:23,893 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:17:23,923 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:17:23,923 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [574016087] [2022-04-28 14:17:23,923 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:17:23,923 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:17:23,923 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:17:23,929 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 14:17:23,930 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 14:17:23,991 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:17:23,991 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:17:23,992 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 14:17:24,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:17:24,003 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:17:30,381 INFO L272 TraceCheckUtils]: 0: Hoare triple {2000#true} call ULTIMATE.init(); {2000#true} is VALID [2022-04-28 14:17:30,381 INFO L290 TraceCheckUtils]: 1: Hoare triple {2000#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {2000#true} is VALID [2022-04-28 14:17:30,381 INFO L290 TraceCheckUtils]: 2: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:17:30,382 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2000#true} {2000#true} #71#return; {2000#true} is VALID [2022-04-28 14:17:30,382 INFO L272 TraceCheckUtils]: 4: Hoare triple {2000#true} call #t~ret6 := main(); {2000#true} is VALID [2022-04-28 14:17:30,382 INFO L290 TraceCheckUtils]: 5: Hoare triple {2000#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2000#true} is VALID [2022-04-28 14:17:30,382 INFO L272 TraceCheckUtils]: 6: Hoare triple {2000#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:17:30,382 INFO L290 TraceCheckUtils]: 7: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:17:30,382 INFO L290 TraceCheckUtils]: 8: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:17:30,382 INFO L290 TraceCheckUtils]: 9: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:17:30,383 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2000#true} {2000#true} #61#return; {2000#true} is VALID [2022-04-28 14:17:30,383 INFO L290 TraceCheckUtils]: 11: Hoare triple {2000#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2000#true} is VALID [2022-04-28 14:17:30,383 INFO L272 TraceCheckUtils]: 12: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:17:30,383 INFO L290 TraceCheckUtils]: 13: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:17:30,383 INFO L290 TraceCheckUtils]: 14: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:17:30,383 INFO L290 TraceCheckUtils]: 15: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:17:30,383 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2000#true} {2000#true} #63#return; {2000#true} is VALID [2022-04-28 14:17:30,383 INFO L272 TraceCheckUtils]: 17: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:17:30,383 INFO L290 TraceCheckUtils]: 18: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:17:30,383 INFO L290 TraceCheckUtils]: 19: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:17:30,384 INFO L290 TraceCheckUtils]: 20: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:17:30,384 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2000#true} {2000#true} #65#return; {2000#true} is VALID [2022-04-28 14:17:30,384 INFO L290 TraceCheckUtils]: 22: Hoare triple {2000#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2000#true} is VALID [2022-04-28 14:17:30,384 INFO L290 TraceCheckUtils]: 23: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-28 14:17:30,384 INFO L272 TraceCheckUtils]: 24: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:17:30,384 INFO L290 TraceCheckUtils]: 25: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:17:30,384 INFO L290 TraceCheckUtils]: 26: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:17:30,384 INFO L290 TraceCheckUtils]: 27: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:17:30,384 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2000#true} {2000#true} #67#return; {2000#true} is VALID [2022-04-28 14:17:30,384 INFO L290 TraceCheckUtils]: 29: Hoare triple {2000#true} assume !!(0 != ~y~0); {2000#true} is VALID [2022-04-28 14:17:30,384 INFO L290 TraceCheckUtils]: 30: Hoare triple {2000#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2000#true} is VALID [2022-04-28 14:17:30,385 INFO L290 TraceCheckUtils]: 31: Hoare triple {2000#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2000#true} is VALID [2022-04-28 14:17:30,385 INFO L290 TraceCheckUtils]: 32: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-28 14:17:30,385 INFO L272 TraceCheckUtils]: 33: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:17:30,385 INFO L290 TraceCheckUtils]: 34: Hoare triple {2000#true} ~cond := #in~cond; {2107#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:17:30,385 INFO L290 TraceCheckUtils]: 35: Hoare triple {2107#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:17:30,386 INFO L290 TraceCheckUtils]: 36: Hoare triple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:17:32,388 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} {2000#true} #67#return; {2118#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} is UNKNOWN [2022-04-28 14:17:32,388 INFO L290 TraceCheckUtils]: 38: Hoare triple {2118#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} assume !(0 != ~y~0); {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:17:32,389 INFO L272 TraceCheckUtils]: 39: Hoare triple {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:17:32,389 INFO L290 TraceCheckUtils]: 40: Hoare triple {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:17:32,390 INFO L290 TraceCheckUtils]: 41: Hoare triple {2130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2001#false} is VALID [2022-04-28 14:17:32,390 INFO L290 TraceCheckUtils]: 42: Hoare triple {2001#false} assume !false; {2001#false} is VALID [2022-04-28 14:17:32,390 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 14:17:32,390 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:17:51,202 INFO L290 TraceCheckUtils]: 42: Hoare triple {2001#false} assume !false; {2001#false} is VALID [2022-04-28 14:17:51,203 INFO L290 TraceCheckUtils]: 41: Hoare triple {2130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2001#false} is VALID [2022-04-28 14:17:51,204 INFO L290 TraceCheckUtils]: 40: Hoare triple {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:17:51,204 INFO L272 TraceCheckUtils]: 39: Hoare triple {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2126#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:17:51,205 INFO L290 TraceCheckUtils]: 38: Hoare triple {2149#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2122#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:17:51,206 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} {2000#true} #67#return; {2149#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:17:51,206 INFO L290 TraceCheckUtils]: 36: Hoare triple {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:17:51,206 INFO L290 TraceCheckUtils]: 35: Hoare triple {2162#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2111#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:17:51,207 INFO L290 TraceCheckUtils]: 34: Hoare triple {2000#true} ~cond := #in~cond; {2162#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:17:51,207 INFO L272 TraceCheckUtils]: 33: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:17:51,207 INFO L290 TraceCheckUtils]: 32: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-28 14:17:51,207 INFO L290 TraceCheckUtils]: 31: Hoare triple {2000#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2000#true} is VALID [2022-04-28 14:17:51,207 INFO L290 TraceCheckUtils]: 30: Hoare triple {2000#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2000#true} is VALID [2022-04-28 14:17:51,208 INFO L290 TraceCheckUtils]: 29: Hoare triple {2000#true} assume !!(0 != ~y~0); {2000#true} is VALID [2022-04-28 14:17:51,208 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2000#true} {2000#true} #67#return; {2000#true} is VALID [2022-04-28 14:17:51,208 INFO L290 TraceCheckUtils]: 27: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:17:51,208 INFO L290 TraceCheckUtils]: 26: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:17:51,208 INFO L290 TraceCheckUtils]: 25: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:17:51,208 INFO L272 TraceCheckUtils]: 24: Hoare triple {2000#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:17:51,208 INFO L290 TraceCheckUtils]: 23: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-28 14:17:51,208 INFO L290 TraceCheckUtils]: 22: Hoare triple {2000#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2000#true} is VALID [2022-04-28 14:17:51,208 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2000#true} {2000#true} #65#return; {2000#true} is VALID [2022-04-28 14:17:51,209 INFO L290 TraceCheckUtils]: 20: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:17:51,209 INFO L290 TraceCheckUtils]: 19: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:17:51,209 INFO L290 TraceCheckUtils]: 18: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:17:51,209 INFO L272 TraceCheckUtils]: 17: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:17:51,209 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2000#true} {2000#true} #63#return; {2000#true} is VALID [2022-04-28 14:17:51,209 INFO L290 TraceCheckUtils]: 15: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:17:51,209 INFO L290 TraceCheckUtils]: 14: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:17:51,209 INFO L290 TraceCheckUtils]: 13: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:17:51,210 INFO L272 TraceCheckUtils]: 12: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:17:51,210 INFO L290 TraceCheckUtils]: 11: Hoare triple {2000#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2000#true} is VALID [2022-04-28 14:17:51,210 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2000#true} {2000#true} #61#return; {2000#true} is VALID [2022-04-28 14:17:51,210 INFO L290 TraceCheckUtils]: 9: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:17:51,210 INFO L290 TraceCheckUtils]: 8: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:17:51,210 INFO L290 TraceCheckUtils]: 7: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:17:51,210 INFO L272 TraceCheckUtils]: 6: Hoare triple {2000#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:17:51,210 INFO L290 TraceCheckUtils]: 5: Hoare triple {2000#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2000#true} is VALID [2022-04-28 14:17:51,210 INFO L272 TraceCheckUtils]: 4: Hoare triple {2000#true} call #t~ret6 := main(); {2000#true} is VALID [2022-04-28 14:17:51,211 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2000#true} {2000#true} #71#return; {2000#true} is VALID [2022-04-28 14:17:51,211 INFO L290 TraceCheckUtils]: 2: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:17:51,211 INFO L290 TraceCheckUtils]: 1: Hoare triple {2000#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {2000#true} is VALID [2022-04-28 14:17:51,211 INFO L272 TraceCheckUtils]: 0: Hoare triple {2000#true} call ULTIMATE.init(); {2000#true} is VALID [2022-04-28 14:17:51,211 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 14:17:51,211 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:17:51,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [403211912] [2022-04-28 14:17:51,212 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:17:51,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [574016087] [2022-04-28 14:17:51,212 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [574016087] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:17:51,212 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:17:51,212 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 14:17:51,212 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:17:51,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1377477285] [2022-04-28 14:17:51,212 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1377477285] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:17:51,212 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:17:51,212 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 14:17:51,212 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [375759694] [2022-04-28 14:17:51,213 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:17:51,213 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-28 14:17:51,213 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:17:51,213 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:17:53,245 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:17:53,245 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 14:17:53,246 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:17:53,246 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 14:17:53,246 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 14:17:53,246 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:17:55,298 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:17:55,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:17:55,725 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-04-28 14:17:55,725 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 14:17:55,725 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-28 14:17:55,726 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:17:55,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:17:55,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-28 14:17:55,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:17:55,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-28 14:17:55,728 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 37 transitions. [2022-04-28 14:17:57,757 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:17:57,758 INFO L225 Difference]: With dead ends: 57 [2022-04-28 14:17:57,758 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 14:17:57,759 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 76 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-28 14:17:57,759 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 12 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 66 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-28 14:17:57,760 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 123 Invalid, 66 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 64 Invalid, 1 Unknown, 0 Unchecked, 2.2s Time] [2022-04-28 14:17:57,760 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 14:17:57,792 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 41. [2022-04-28 14:17:57,792 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:17:57,792 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:17:57,793 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:17:57,793 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:17:57,795 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:17:57,795 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-28 14:17:57,795 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 14:17:57,795 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:17:57,795 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:17:57,795 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-28 14:17:57,795 INFO L87 Difference]: Start difference. First operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-28 14:17:57,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:17:57,797 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-28 14:17:57,797 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 14:17:57,797 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:17:57,797 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:17:57,798 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:17:57,798 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:17:57,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:17:57,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2022-04-28 14:17:57,799 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 43 [2022-04-28 14:17:57,799 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:17:57,799 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2022-04-28 14:17:57,800 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:17:57,800 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 45 transitions. [2022-04-28 14:18:04,253 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 42 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 14:18:04,253 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-28 14:18:04,254 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 14:18:04,254 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:18:04,254 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:18:04,270 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-28 14:18:04,455 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 14:18:04,455 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:18:04,456 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:18:04,456 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 3 times [2022-04-28 14:18:04,456 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:18:04,456 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1247746104] [2022-04-28 14:18:04,456 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:18:04,456 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 4 times [2022-04-28 14:18:04,457 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:18:04,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1747505794] [2022-04-28 14:18:04,457 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:18:04,457 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:18:04,471 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:18:04,471 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [488811413] [2022-04-28 14:18:04,472 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:18:04,472 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:18:04,472 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:18:04,473 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 14:18:04,476 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 14:18:04,517 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:18:04,517 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:18:04,518 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 14:18:04,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:18:04,547 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:19:43,967 INFO L272 TraceCheckUtils]: 0: Hoare triple {2567#true} call ULTIMATE.init(); {2567#true} is VALID [2022-04-28 14:19:43,968 INFO L290 TraceCheckUtils]: 1: Hoare triple {2567#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {2567#true} is VALID [2022-04-28 14:19:43,968 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:19:43,968 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#true} {2567#true} #71#return; {2567#true} is VALID [2022-04-28 14:19:43,968 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#true} call #t~ret6 := main(); {2567#true} is VALID [2022-04-28 14:19:43,968 INFO L290 TraceCheckUtils]: 5: Hoare triple {2567#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2567#true} is VALID [2022-04-28 14:19:43,968 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:19:43,968 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:19:43,968 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:19:43,968 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:19:43,968 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#true} {2567#true} #61#return; {2567#true} is VALID [2022-04-28 14:19:43,969 INFO L290 TraceCheckUtils]: 11: Hoare triple {2567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2567#true} is VALID [2022-04-28 14:19:43,969 INFO L272 TraceCheckUtils]: 12: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:19:43,969 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:19:43,969 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:19:43,969 INFO L290 TraceCheckUtils]: 15: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:19:43,969 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2567#true} {2567#true} #63#return; {2567#true} is VALID [2022-04-28 14:19:43,969 INFO L272 TraceCheckUtils]: 17: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:19:43,969 INFO L290 TraceCheckUtils]: 18: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:19:43,969 INFO L290 TraceCheckUtils]: 19: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:19:43,969 INFO L290 TraceCheckUtils]: 20: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:19:43,969 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2567#true} {2567#true} #65#return; {2567#true} is VALID [2022-04-28 14:19:43,970 INFO L290 TraceCheckUtils]: 22: Hoare triple {2567#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:19:43,970 INFO L290 TraceCheckUtils]: 23: Hoare triple {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:19:43,970 INFO L272 TraceCheckUtils]: 24: Hoare triple {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:19:43,971 INFO L290 TraceCheckUtils]: 25: Hoare triple {2567#true} ~cond := #in~cond; {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:19:43,971 INFO L290 TraceCheckUtils]: 26: Hoare triple {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:19:43,971 INFO L290 TraceCheckUtils]: 27: Hoare triple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:19:43,972 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:19:43,972 INFO L290 TraceCheckUtils]: 29: Hoare triple {2638#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2662#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:19:43,973 INFO L290 TraceCheckUtils]: 30: Hoare triple {2662#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2666#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:19:43,974 INFO L290 TraceCheckUtils]: 31: Hoare triple {2666#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:19:43,975 INFO L290 TraceCheckUtils]: 32: Hoare triple {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:19:43,975 INFO L272 TraceCheckUtils]: 33: Hoare triple {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:19:43,975 INFO L290 TraceCheckUtils]: 34: Hoare triple {2567#true} ~cond := #in~cond; {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:19:43,976 INFO L290 TraceCheckUtils]: 35: Hoare triple {2648#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:19:43,976 INFO L290 TraceCheckUtils]: 36: Hoare triple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:19:43,977 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} {2670#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {2689#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:19:43,978 INFO L290 TraceCheckUtils]: 38: Hoare triple {2689#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {2693#(and (not (= main_~y~0 0)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:19:43,981 INFO L290 TraceCheckUtils]: 39: Hoare triple {2693#(and (not (= main_~y~0 0)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2697#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (+ (* main_~x~0 3) (* 2 (* main_~y~0 main_~x~0))) (* 2 (* main_~b~0 main_~a~0))) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:19:43,985 INFO L290 TraceCheckUtils]: 40: Hoare triple {2697#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (+ (* main_~x~0 3) (* 2 (* main_~y~0 main_~x~0))) (* 2 (* main_~b~0 main_~a~0))) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2701#(and (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* (div main_~x~0 2) 3) (* 2 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2)))) (* 2 (* main_~b~0 main_~a~0))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (= (+ main_~z~0 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2))) (* main_~b~0 main_~a~0)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:19:43,986 INFO L290 TraceCheckUtils]: 41: Hoare triple {2701#(and (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* (div main_~x~0 2) 3) (* 2 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2)))) (* 2 (* main_~b~0 main_~a~0))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (= (+ main_~z~0 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2))) (* main_~b~0 main_~a~0)) (= (mod main_~x~0 2) 0))} assume !false; {2701#(and (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* (div main_~x~0 2) 3) (* 2 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2)))) (* 2 (* main_~b~0 main_~a~0))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (= (+ main_~z~0 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2))) (* main_~b~0 main_~a~0)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:19:44,192 INFO L272 TraceCheckUtils]: 42: Hoare triple {2701#(and (<= 1 (mod main_~b~0 2)) (<= 0 (div (+ (- 1) main_~b~0) 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* (div main_~x~0 2) 3) (* 2 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2)))) (* 2 (* main_~b~0 main_~a~0))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (= (+ main_~z~0 (* (+ (- 1) (div (+ (- 1) main_~b~0) 2)) (div main_~x~0 2))) (* main_~b~0 main_~a~0)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2708#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:19:44,192 INFO L290 TraceCheckUtils]: 43: Hoare triple {2708#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2712#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:19:44,193 INFO L290 TraceCheckUtils]: 44: Hoare triple {2712#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2568#false} is VALID [2022-04-28 14:19:44,193 INFO L290 TraceCheckUtils]: 45: Hoare triple {2568#false} assume !false; {2568#false} is VALID [2022-04-28 14:19:44,193 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 14:19:44,193 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:20:35,012 INFO L290 TraceCheckUtils]: 45: Hoare triple {2568#false} assume !false; {2568#false} is VALID [2022-04-28 14:20:35,013 INFO L290 TraceCheckUtils]: 44: Hoare triple {2712#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2568#false} is VALID [2022-04-28 14:20:35,013 INFO L290 TraceCheckUtils]: 43: Hoare triple {2708#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2712#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:20:35,014 INFO L272 TraceCheckUtils]: 42: Hoare triple {2728#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2708#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:20:35,014 INFO L290 TraceCheckUtils]: 41: Hoare triple {2728#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2728#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:20:35,040 INFO L290 TraceCheckUtils]: 40: Hoare triple {2735#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2728#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:20:35,042 INFO L290 TraceCheckUtils]: 39: Hoare triple {2739#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2735#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:20:35,042 INFO L290 TraceCheckUtils]: 38: Hoare triple {2739#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {2739#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 14:20:35,596 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} {2567#true} #67#return; {2739#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 14:20:35,596 INFO L290 TraceCheckUtils]: 36: Hoare triple {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:20:35,596 INFO L290 TraceCheckUtils]: 35: Hoare triple {2755#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:20:35,597 INFO L290 TraceCheckUtils]: 34: Hoare triple {2567#true} ~cond := #in~cond; {2755#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:20:35,597 INFO L272 TraceCheckUtils]: 33: Hoare triple {2567#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:20:35,597 INFO L290 TraceCheckUtils]: 32: Hoare triple {2567#true} assume !false; {2567#true} is VALID [2022-04-28 14:20:35,597 INFO L290 TraceCheckUtils]: 31: Hoare triple {2567#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2567#true} is VALID [2022-04-28 14:20:35,597 INFO L290 TraceCheckUtils]: 30: Hoare triple {2567#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2567#true} is VALID [2022-04-28 14:20:35,597 INFO L290 TraceCheckUtils]: 29: Hoare triple {2567#true} assume !!(0 != ~y~0); {2567#true} is VALID [2022-04-28 14:20:35,597 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2567#true} {2567#true} #67#return; {2567#true} is VALID [2022-04-28 14:20:35,598 INFO L290 TraceCheckUtils]: 27: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:20:35,598 INFO L290 TraceCheckUtils]: 26: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:20:35,598 INFO L290 TraceCheckUtils]: 25: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:20:35,598 INFO L272 TraceCheckUtils]: 24: Hoare triple {2567#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:20:35,598 INFO L290 TraceCheckUtils]: 23: Hoare triple {2567#true} assume !false; {2567#true} is VALID [2022-04-28 14:20:35,598 INFO L290 TraceCheckUtils]: 22: Hoare triple {2567#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2567#true} is VALID [2022-04-28 14:20:35,598 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2567#true} {2567#true} #65#return; {2567#true} is VALID [2022-04-28 14:20:35,598 INFO L290 TraceCheckUtils]: 20: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:20:35,598 INFO L290 TraceCheckUtils]: 19: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:20:35,598 INFO L290 TraceCheckUtils]: 18: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:20:35,599 INFO L272 TraceCheckUtils]: 17: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:20:35,599 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2567#true} {2567#true} #63#return; {2567#true} is VALID [2022-04-28 14:20:35,599 INFO L290 TraceCheckUtils]: 15: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:20:35,599 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:20:35,599 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:20:35,599 INFO L272 TraceCheckUtils]: 12: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:20:35,599 INFO L290 TraceCheckUtils]: 11: Hoare triple {2567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2567#true} is VALID [2022-04-28 14:20:35,599 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#true} {2567#true} #61#return; {2567#true} is VALID [2022-04-28 14:20:35,599 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:20:35,600 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:20:35,600 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:20:35,600 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:20:35,600 INFO L290 TraceCheckUtils]: 5: Hoare triple {2567#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2567#true} is VALID [2022-04-28 14:20:35,600 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#true} call #t~ret6 := main(); {2567#true} is VALID [2022-04-28 14:20:35,600 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#true} {2567#true} #71#return; {2567#true} is VALID [2022-04-28 14:20:35,600 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:20:35,600 INFO L290 TraceCheckUtils]: 1: Hoare triple {2567#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {2567#true} is VALID [2022-04-28 14:20:35,600 INFO L272 TraceCheckUtils]: 0: Hoare triple {2567#true} call ULTIMATE.init(); {2567#true} is VALID [2022-04-28 14:20:35,601 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 14:20:35,601 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:20:35,601 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1747505794] [2022-04-28 14:20:35,601 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:20:35,601 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [488811413] [2022-04-28 14:20:35,601 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [488811413] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:20:35,601 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:20:35,601 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 9] total 18 [2022-04-28 14:20:35,602 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:20:35,602 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1247746104] [2022-04-28 14:20:35,602 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1247746104] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:20:35,602 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:20:35,602 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 14:20:35,602 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1131396116] [2022-04-28 14:20:35,602 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:20:35,602 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 14:20:35,602 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:20:35,602 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:20:35,933 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:20:35,933 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 14:20:35,933 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:20:35,934 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 14:20:35,934 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=245, Unknown=1, NotChecked=0, Total=306 [2022-04-28 14:20:35,934 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:20:39,655 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:20:49,334 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:20:49,334 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2022-04-28 14:20:49,334 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 14:20:49,335 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 14:20:49,335 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:20:49,335 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:20:49,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-28 14:20:49,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:20:49,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 57 transitions. [2022-04-28 14:20:49,338 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 57 transitions. [2022-04-28 14:20:49,513 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:20:49,514 INFO L225 Difference]: With dead ends: 63 [2022-04-28 14:20:49,514 INFO L226 Difference]: Without dead ends: 61 [2022-04-28 14:20:49,515 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 72 SyntacticMatches, 3 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 64 ImplicationChecksByTransitivity, 9.9s TimeCoverageRelationStatistics Valid=73, Invalid=306, Unknown=1, NotChecked=0, Total=380 [2022-04-28 14:20:49,515 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 21 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 253 mSolverCounterSat, 7 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 183 SdHoareTripleChecker+Invalid, 261 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 253 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.8s IncrementalHoareTripleChecker+Time [2022-04-28 14:20:49,516 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 183 Invalid, 261 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 253 Invalid, 1 Unknown, 0 Unchecked, 4.8s Time] [2022-04-28 14:20:49,516 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-28 14:20:49,562 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 50. [2022-04-28 14:20:49,562 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:20:49,562 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:20:49,563 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:20:49,563 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:20:49,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:20:49,565 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-28 14:20:49,565 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-28 14:20:49,565 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:20:49,565 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:20:49,565 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-28 14:20:49,565 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-28 14:20:49,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:20:49,567 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-28 14:20:49,567 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-28 14:20:49,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:20:49,568 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:20:49,568 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:20:49,568 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:20:49,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:20:49,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 14:20:49,569 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-28 14:20:49,570 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:20:49,570 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 14:20:49,570 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 1.6428571428571428) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:20:49,570 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 14:20:59,681 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 50 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 14:20:59,681 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 14:20:59,681 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 14:20:59,681 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:20:59,682 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:20:59,697 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 14:20:59,883 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 14:20:59,883 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:20:59,884 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:20:59,884 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 1 times [2022-04-28 14:20:59,884 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:20:59,884 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [210084270] [2022-04-28 14:20:59,884 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:20:59,884 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 2 times [2022-04-28 14:20:59,885 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:20:59,885 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1013711796] [2022-04-28 14:20:59,885 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:20:59,885 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:20:59,896 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:20:59,896 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1394476933] [2022-04-28 14:20:59,896 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:20:59,897 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:20:59,897 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:20:59,898 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 14:20:59,902 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 14:20:59,941 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:20:59,941 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:20:59,942 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 14:20:59,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:20:59,957 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:21:03,741 INFO L272 TraceCheckUtils]: 0: Hoare triple {3212#true} call ULTIMATE.init(); {3212#true} is VALID [2022-04-28 14:21:03,742 INFO L290 TraceCheckUtils]: 1: Hoare triple {3212#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {3212#true} is VALID [2022-04-28 14:21:03,742 INFO L290 TraceCheckUtils]: 2: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:21:03,742 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3212#true} {3212#true} #71#return; {3212#true} is VALID [2022-04-28 14:21:03,742 INFO L272 TraceCheckUtils]: 4: Hoare triple {3212#true} call #t~ret6 := main(); {3212#true} is VALID [2022-04-28 14:21:03,742 INFO L290 TraceCheckUtils]: 5: Hoare triple {3212#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3212#true} is VALID [2022-04-28 14:21:03,742 INFO L272 TraceCheckUtils]: 6: Hoare triple {3212#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {3212#true} is VALID [2022-04-28 14:21:03,742 INFO L290 TraceCheckUtils]: 7: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-28 14:21:03,743 INFO L290 TraceCheckUtils]: 8: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-28 14:21:03,743 INFO L290 TraceCheckUtils]: 9: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:21:03,743 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3212#true} {3212#true} #61#return; {3212#true} is VALID [2022-04-28 14:21:03,743 INFO L290 TraceCheckUtils]: 11: Hoare triple {3212#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3212#true} is VALID [2022-04-28 14:21:03,743 INFO L272 TraceCheckUtils]: 12: Hoare triple {3212#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {3212#true} is VALID [2022-04-28 14:21:03,743 INFO L290 TraceCheckUtils]: 13: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-28 14:21:03,743 INFO L290 TraceCheckUtils]: 14: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-28 14:21:03,743 INFO L290 TraceCheckUtils]: 15: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:21:03,743 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3212#true} {3212#true} #63#return; {3212#true} is VALID [2022-04-28 14:21:03,743 INFO L272 TraceCheckUtils]: 17: Hoare triple {3212#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3212#true} is VALID [2022-04-28 14:21:03,743 INFO L290 TraceCheckUtils]: 18: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-28 14:21:03,743 INFO L290 TraceCheckUtils]: 19: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-28 14:21:03,743 INFO L290 TraceCheckUtils]: 20: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:21:03,743 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3212#true} {3212#true} #65#return; {3212#true} is VALID [2022-04-28 14:21:03,744 INFO L290 TraceCheckUtils]: 22: Hoare triple {3212#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3283#(= main_~b~0 main_~y~0)} is VALID [2022-04-28 14:21:03,749 INFO L290 TraceCheckUtils]: 23: Hoare triple {3283#(= main_~b~0 main_~y~0)} assume !false; {3283#(= main_~b~0 main_~y~0)} is VALID [2022-04-28 14:21:03,749 INFO L272 TraceCheckUtils]: 24: Hoare triple {3283#(= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3212#true} is VALID [2022-04-28 14:21:03,750 INFO L290 TraceCheckUtils]: 25: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-28 14:21:03,750 INFO L290 TraceCheckUtils]: 26: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-28 14:21:03,750 INFO L290 TraceCheckUtils]: 27: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:21:03,750 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3212#true} {3283#(= main_~b~0 main_~y~0)} #67#return; {3283#(= main_~b~0 main_~y~0)} is VALID [2022-04-28 14:21:03,751 INFO L290 TraceCheckUtils]: 29: Hoare triple {3283#(= main_~b~0 main_~y~0)} assume !!(0 != ~y~0); {3305#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0))} is VALID [2022-04-28 14:21:03,751 INFO L290 TraceCheckUtils]: 30: Hoare triple {3305#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3309#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:21:03,752 INFO L290 TraceCheckUtils]: 31: Hoare triple {3309#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3313#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:21:03,753 INFO L290 TraceCheckUtils]: 32: Hoare triple {3313#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {3313#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:21:03,753 INFO L272 TraceCheckUtils]: 33: Hoare triple {3313#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3212#true} is VALID [2022-04-28 14:21:03,754 INFO L290 TraceCheckUtils]: 34: Hoare triple {3212#true} ~cond := #in~cond; {3323#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:21:03,754 INFO L290 TraceCheckUtils]: 35: Hoare triple {3323#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:21:03,754 INFO L290 TraceCheckUtils]: 36: Hoare triple {3327#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:21:03,755 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3327#(not (= |__VERIFIER_assert_#in~cond| 0))} {3313#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {3334#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:21:03,756 INFO L290 TraceCheckUtils]: 38: Hoare triple {3334#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {3334#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:21:03,757 INFO L290 TraceCheckUtils]: 39: Hoare triple {3334#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3341#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:21:04,665 INFO L290 TraceCheckUtils]: 40: Hoare triple {3341#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3345#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:21:04,666 INFO L290 TraceCheckUtils]: 41: Hoare triple {3345#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} assume !false; {3345#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:21:05,681 INFO L272 TraceCheckUtils]: 42: Hoare triple {3345#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3352#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:21:05,681 INFO L290 TraceCheckUtils]: 43: Hoare triple {3352#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3356#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:21:05,681 INFO L290 TraceCheckUtils]: 44: Hoare triple {3356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3213#false} is VALID [2022-04-28 14:21:05,682 INFO L290 TraceCheckUtils]: 45: Hoare triple {3213#false} assume !false; {3213#false} is VALID [2022-04-28 14:21:05,682 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 14:21:05,682 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:21:51,824 INFO L290 TraceCheckUtils]: 45: Hoare triple {3213#false} assume !false; {3213#false} is VALID [2022-04-28 14:21:51,824 INFO L290 TraceCheckUtils]: 44: Hoare triple {3356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3213#false} is VALID [2022-04-28 14:21:51,824 INFO L290 TraceCheckUtils]: 43: Hoare triple {3352#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3356#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:21:51,825 INFO L272 TraceCheckUtils]: 42: Hoare triple {3372#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3352#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:21:51,825 INFO L290 TraceCheckUtils]: 41: Hoare triple {3372#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {3372#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:21:51,830 INFO L290 TraceCheckUtils]: 40: Hoare triple {3379#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3372#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:21:51,830 INFO L290 TraceCheckUtils]: 39: Hoare triple {3383#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3379#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:21:51,831 INFO L290 TraceCheckUtils]: 38: Hoare triple {3383#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {3383#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:21:51,833 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3327#(not (= |__VERIFIER_assert_#in~cond| 0))} {3390#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} #67#return; {3383#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:21:51,833 INFO L290 TraceCheckUtils]: 36: Hoare triple {3327#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:21:51,834 INFO L290 TraceCheckUtils]: 35: Hoare triple {3400#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3327#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:21:51,834 INFO L290 TraceCheckUtils]: 34: Hoare triple {3212#true} ~cond := #in~cond; {3400#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:21:51,834 INFO L272 TraceCheckUtils]: 33: Hoare triple {3390#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3212#true} is VALID [2022-04-28 14:21:51,834 INFO L290 TraceCheckUtils]: 32: Hoare triple {3390#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} assume !false; {3390#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 14:21:51,836 INFO L290 TraceCheckUtils]: 31: Hoare triple {3410#(and (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))) (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3390#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 14:21:51,837 INFO L290 TraceCheckUtils]: 30: Hoare triple {3212#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3410#(and (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))) (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-28 14:21:51,837 INFO L290 TraceCheckUtils]: 29: Hoare triple {3212#true} assume !!(0 != ~y~0); {3212#true} is VALID [2022-04-28 14:21:51,838 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3212#true} {3212#true} #67#return; {3212#true} is VALID [2022-04-28 14:21:51,838 INFO L290 TraceCheckUtils]: 27: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:21:51,838 INFO L290 TraceCheckUtils]: 26: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-28 14:21:51,838 INFO L290 TraceCheckUtils]: 25: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-28 14:21:51,838 INFO L272 TraceCheckUtils]: 24: Hoare triple {3212#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3212#true} is VALID [2022-04-28 14:21:51,838 INFO L290 TraceCheckUtils]: 23: Hoare triple {3212#true} assume !false; {3212#true} is VALID [2022-04-28 14:21:51,838 INFO L290 TraceCheckUtils]: 22: Hoare triple {3212#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3212#true} is VALID [2022-04-28 14:21:51,838 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3212#true} {3212#true} #65#return; {3212#true} is VALID [2022-04-28 14:21:51,838 INFO L290 TraceCheckUtils]: 20: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:21:51,838 INFO L290 TraceCheckUtils]: 19: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-28 14:21:51,838 INFO L290 TraceCheckUtils]: 18: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-28 14:21:51,839 INFO L272 TraceCheckUtils]: 17: Hoare triple {3212#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3212#true} is VALID [2022-04-28 14:21:51,839 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3212#true} {3212#true} #63#return; {3212#true} is VALID [2022-04-28 14:21:51,839 INFO L290 TraceCheckUtils]: 15: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:21:51,839 INFO L290 TraceCheckUtils]: 14: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-28 14:21:51,839 INFO L290 TraceCheckUtils]: 13: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-28 14:21:51,839 INFO L272 TraceCheckUtils]: 12: Hoare triple {3212#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {3212#true} is VALID [2022-04-28 14:21:51,839 INFO L290 TraceCheckUtils]: 11: Hoare triple {3212#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3212#true} is VALID [2022-04-28 14:21:51,839 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3212#true} {3212#true} #61#return; {3212#true} is VALID [2022-04-28 14:21:51,840 INFO L290 TraceCheckUtils]: 9: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:21:51,840 INFO L290 TraceCheckUtils]: 8: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-28 14:21:51,840 INFO L290 TraceCheckUtils]: 7: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-28 14:21:51,840 INFO L272 TraceCheckUtils]: 6: Hoare triple {3212#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {3212#true} is VALID [2022-04-28 14:21:51,840 INFO L290 TraceCheckUtils]: 5: Hoare triple {3212#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3212#true} is VALID [2022-04-28 14:21:51,840 INFO L272 TraceCheckUtils]: 4: Hoare triple {3212#true} call #t~ret6 := main(); {3212#true} is VALID [2022-04-28 14:21:51,840 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3212#true} {3212#true} #71#return; {3212#true} is VALID [2022-04-28 14:21:51,840 INFO L290 TraceCheckUtils]: 2: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:21:51,840 INFO L290 TraceCheckUtils]: 1: Hoare triple {3212#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {3212#true} is VALID [2022-04-28 14:21:51,841 INFO L272 TraceCheckUtils]: 0: Hoare triple {3212#true} call ULTIMATE.init(); {3212#true} is VALID [2022-04-28 14:21:51,841 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 12 proven. 4 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 14:21:51,841 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:21:51,841 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1013711796] [2022-04-28 14:21:51,841 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:21:51,841 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1394476933] [2022-04-28 14:21:51,841 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1394476933] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:21:51,841 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:21:51,842 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-28 14:21:51,842 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:21:51,842 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [210084270] [2022-04-28 14:21:51,842 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [210084270] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:21:51,842 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:21:51,842 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 14:21:51,842 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1785561420] [2022-04-28 14:21:51,842 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:21:51,843 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 14:21:51,843 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:21:51,844 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:21:52,503 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 14:21:52,503 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 14:21:52,503 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:21:52,504 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 14:21:52,504 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=281, Unknown=1, NotChecked=0, Total=342 [2022-04-28 14:21:52,504 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:22:01,236 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.16s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:22:06,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:22:06,652 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2022-04-28 14:22:06,652 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 14:22:06,653 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 14:22:06,653 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:22:06,653 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:22:06,654 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 14:22:06,654 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:22:06,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 14:22:06,656 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-28 14:22:10,454 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:22:10,455 INFO L225 Difference]: With dead ends: 63 [2022-04-28 14:22:10,455 INFO L226 Difference]: Without dead ends: 61 [2022-04-28 14:22:10,455 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 3.4s TimeCoverageRelationStatistics Valid=73, Invalid=346, Unknown=1, NotChecked=0, Total=420 [2022-04-28 14:22:10,456 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 17 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 221 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 182 SdHoareTripleChecker+Invalid, 222 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 221 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.9s IncrementalHoareTripleChecker+Time [2022-04-28 14:22:10,456 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 182 Invalid, 222 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 221 Invalid, 0 Unknown, 0 Unchecked, 3.9s Time] [2022-04-28 14:22:10,457 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-28 14:22:10,521 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 50. [2022-04-28 14:22:10,521 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:22:10,521 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:22:10,521 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:22:10,521 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:22:10,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:22:10,523 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-28 14:22:10,523 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-28 14:22:10,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:22:10,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:22:10,524 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-28 14:22:10,524 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-28 14:22:10,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:22:10,526 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-28 14:22:10,526 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-28 14:22:10,526 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:22:10,526 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:22:10,526 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:22:10,526 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:22:10,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:22:10,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 14:22:10,528 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-28 14:22:10,528 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:22:10,528 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 14:22:10,529 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:22:10,529 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 14:22:21,403 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 50 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 14:22:21,404 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 14:22:21,404 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 14:22:21,404 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:22:21,404 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:22:21,421 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 14:22:21,607 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 14:22:21,607 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:22:21,608 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:22:21,608 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 3 times [2022-04-28 14:22:21,608 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:22:21,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1454761539] [2022-04-28 14:22:21,608 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:22:21,608 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 4 times [2022-04-28 14:22:21,608 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:22:21,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1761544105] [2022-04-28 14:22:21,609 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:22:21,609 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:22:21,621 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:22:21,621 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [835484066] [2022-04-28 14:22:21,621 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:22:21,621 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:22:21,621 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:22:21,622 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 14:22:21,631 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 14:22:21,668 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:22:21,668 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:22:21,669 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 14:22:21,687 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:22:21,688 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:22:32,234 INFO L272 TraceCheckUtils]: 0: Hoare triple {3858#true} call ULTIMATE.init(); {3858#true} is VALID [2022-04-28 14:22:32,234 INFO L290 TraceCheckUtils]: 1: Hoare triple {3858#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {3858#true} is VALID [2022-04-28 14:22:32,234 INFO L290 TraceCheckUtils]: 2: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-28 14:22:32,234 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3858#true} {3858#true} #71#return; {3858#true} is VALID [2022-04-28 14:22:32,234 INFO L272 TraceCheckUtils]: 4: Hoare triple {3858#true} call #t~ret6 := main(); {3858#true} is VALID [2022-04-28 14:22:32,234 INFO L290 TraceCheckUtils]: 5: Hoare triple {3858#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3858#true} is VALID [2022-04-28 14:22:32,234 INFO L272 TraceCheckUtils]: 6: Hoare triple {3858#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {3858#true} is VALID [2022-04-28 14:22:32,235 INFO L290 TraceCheckUtils]: 7: Hoare triple {3858#true} ~cond := #in~cond; {3858#true} is VALID [2022-04-28 14:22:32,235 INFO L290 TraceCheckUtils]: 8: Hoare triple {3858#true} assume !(0 == ~cond); {3858#true} is VALID [2022-04-28 14:22:32,235 INFO L290 TraceCheckUtils]: 9: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-28 14:22:32,235 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3858#true} {3858#true} #61#return; {3858#true} is VALID [2022-04-28 14:22:32,235 INFO L290 TraceCheckUtils]: 11: Hoare triple {3858#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3858#true} is VALID [2022-04-28 14:22:32,235 INFO L272 TraceCheckUtils]: 12: Hoare triple {3858#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {3858#true} is VALID [2022-04-28 14:22:32,235 INFO L290 TraceCheckUtils]: 13: Hoare triple {3858#true} ~cond := #in~cond; {3858#true} is VALID [2022-04-28 14:22:32,235 INFO L290 TraceCheckUtils]: 14: Hoare triple {3858#true} assume !(0 == ~cond); {3858#true} is VALID [2022-04-28 14:22:32,235 INFO L290 TraceCheckUtils]: 15: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-28 14:22:32,235 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3858#true} {3858#true} #63#return; {3858#true} is VALID [2022-04-28 14:22:32,235 INFO L272 TraceCheckUtils]: 17: Hoare triple {3858#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3858#true} is VALID [2022-04-28 14:22:32,235 INFO L290 TraceCheckUtils]: 18: Hoare triple {3858#true} ~cond := #in~cond; {3858#true} is VALID [2022-04-28 14:22:32,235 INFO L290 TraceCheckUtils]: 19: Hoare triple {3858#true} assume !(0 == ~cond); {3858#true} is VALID [2022-04-28 14:22:32,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-28 14:22:32,236 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3858#true} {3858#true} #65#return; {3858#true} is VALID [2022-04-28 14:22:32,236 INFO L290 TraceCheckUtils]: 22: Hoare triple {3858#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3929#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:22:32,236 INFO L290 TraceCheckUtils]: 23: Hoare triple {3929#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {3929#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:22:32,236 INFO L272 TraceCheckUtils]: 24: Hoare triple {3929#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3858#true} is VALID [2022-04-28 14:22:32,237 INFO L290 TraceCheckUtils]: 25: Hoare triple {3858#true} ~cond := #in~cond; {3858#true} is VALID [2022-04-28 14:22:32,237 INFO L290 TraceCheckUtils]: 26: Hoare triple {3858#true} assume !(0 == ~cond); {3858#true} is VALID [2022-04-28 14:22:32,237 INFO L290 TraceCheckUtils]: 27: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-28 14:22:32,237 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3858#true} {3929#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {3929#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:22:32,238 INFO L290 TraceCheckUtils]: 29: Hoare triple {3929#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {3929#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:22:32,238 INFO L290 TraceCheckUtils]: 30: Hoare triple {3929#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3954#(and (= main_~z~0 0) (or (not (= (mod main_~y~0 2) 1)) (< main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:22:32,239 INFO L290 TraceCheckUtils]: 31: Hoare triple {3954#(and (= main_~z~0 0) (or (not (= (mod main_~y~0 2) 1)) (< main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3958#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-28 14:22:32,240 INFO L290 TraceCheckUtils]: 32: Hoare triple {3958#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} assume !false; {3958#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-28 14:22:32,240 INFO L272 TraceCheckUtils]: 33: Hoare triple {3958#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3858#true} is VALID [2022-04-28 14:22:32,240 INFO L290 TraceCheckUtils]: 34: Hoare triple {3858#true} ~cond := #in~cond; {3968#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:22:32,241 INFO L290 TraceCheckUtils]: 35: Hoare triple {3968#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3972#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:22:32,241 INFO L290 TraceCheckUtils]: 36: Hoare triple {3972#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3972#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:22:32,242 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3972#(not (= |__VERIFIER_assert_#in~cond| 0))} {3958#(and (= main_~z~0 0) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} #67#return; {3979#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-28 14:22:32,243 INFO L290 TraceCheckUtils]: 38: Hoare triple {3979#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} assume !!(0 != ~y~0); {3983#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} is VALID [2022-04-28 14:22:32,245 INFO L290 TraceCheckUtils]: 39: Hoare triple {3983#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (or (and (not (= (mod main_~b~0 2) 0)) (= main_~y~0 (+ (div main_~b~0 2) 1))) (and (= main_~y~0 (div main_~b~0 2)) (= (mod main_~b~0 2) 0))) (or (not (= (mod main_~b~0 2) 1)) (< main_~b~0 0)))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3987#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:22:32,249 INFO L290 TraceCheckUtils]: 40: Hoare triple {3987#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3991#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 14:22:32,249 INFO L290 TraceCheckUtils]: 41: Hoare triple {3991#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !false; {3991#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 14:22:32,568 INFO L272 TraceCheckUtils]: 42: Hoare triple {3991#(and (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (+ (- 1) (div main_~b~0 2))))) (not (= (mod main_~b~0 2) 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3998#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:22:32,568 INFO L290 TraceCheckUtils]: 43: Hoare triple {3998#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4002#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:22:32,569 INFO L290 TraceCheckUtils]: 44: Hoare triple {4002#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3859#false} is VALID [2022-04-28 14:22:32,569 INFO L290 TraceCheckUtils]: 45: Hoare triple {3859#false} assume !false; {3859#false} is VALID [2022-04-28 14:22:32,569 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 14:22:32,569 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:23:15,317 INFO L290 TraceCheckUtils]: 45: Hoare triple {3859#false} assume !false; {3859#false} is VALID [2022-04-28 14:23:15,317 INFO L290 TraceCheckUtils]: 44: Hoare triple {4002#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3859#false} is VALID [2022-04-28 14:23:15,317 INFO L290 TraceCheckUtils]: 43: Hoare triple {3998#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4002#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:23:15,320 INFO L272 TraceCheckUtils]: 42: Hoare triple {4018#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3998#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:23:15,320 INFO L290 TraceCheckUtils]: 41: Hoare triple {4018#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4018#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:23:15,325 INFO L290 TraceCheckUtils]: 40: Hoare triple {4025#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4018#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:23:15,327 INFO L290 TraceCheckUtils]: 39: Hoare triple {4029#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {4025#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:23:15,327 INFO L290 TraceCheckUtils]: 38: Hoare triple {4029#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {4029#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 14:23:16,784 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3972#(not (= |__VERIFIER_assert_#in~cond| 0))} {3858#true} #67#return; {4029#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 14:23:16,785 INFO L290 TraceCheckUtils]: 36: Hoare triple {3972#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3972#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:23:16,785 INFO L290 TraceCheckUtils]: 35: Hoare triple {4045#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3972#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:23:16,785 INFO L290 TraceCheckUtils]: 34: Hoare triple {3858#true} ~cond := #in~cond; {4045#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:23:16,785 INFO L272 TraceCheckUtils]: 33: Hoare triple {3858#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3858#true} is VALID [2022-04-28 14:23:16,786 INFO L290 TraceCheckUtils]: 32: Hoare triple {3858#true} assume !false; {3858#true} is VALID [2022-04-28 14:23:16,786 INFO L290 TraceCheckUtils]: 31: Hoare triple {3858#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3858#true} is VALID [2022-04-28 14:23:16,786 INFO L290 TraceCheckUtils]: 30: Hoare triple {3858#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3858#true} is VALID [2022-04-28 14:23:16,786 INFO L290 TraceCheckUtils]: 29: Hoare triple {3858#true} assume !!(0 != ~y~0); {3858#true} is VALID [2022-04-28 14:23:16,786 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3858#true} {3858#true} #67#return; {3858#true} is VALID [2022-04-28 14:23:16,786 INFO L290 TraceCheckUtils]: 27: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-28 14:23:16,786 INFO L290 TraceCheckUtils]: 26: Hoare triple {3858#true} assume !(0 == ~cond); {3858#true} is VALID [2022-04-28 14:23:16,786 INFO L290 TraceCheckUtils]: 25: Hoare triple {3858#true} ~cond := #in~cond; {3858#true} is VALID [2022-04-28 14:23:16,786 INFO L272 TraceCheckUtils]: 24: Hoare triple {3858#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3858#true} is VALID [2022-04-28 14:23:16,786 INFO L290 TraceCheckUtils]: 23: Hoare triple {3858#true} assume !false; {3858#true} is VALID [2022-04-28 14:23:16,786 INFO L290 TraceCheckUtils]: 22: Hoare triple {3858#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3858#true} is VALID [2022-04-28 14:23:16,786 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3858#true} {3858#true} #65#return; {3858#true} is VALID [2022-04-28 14:23:16,786 INFO L290 TraceCheckUtils]: 20: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-28 14:23:16,786 INFO L290 TraceCheckUtils]: 19: Hoare triple {3858#true} assume !(0 == ~cond); {3858#true} is VALID [2022-04-28 14:23:16,787 INFO L290 TraceCheckUtils]: 18: Hoare triple {3858#true} ~cond := #in~cond; {3858#true} is VALID [2022-04-28 14:23:16,787 INFO L272 TraceCheckUtils]: 17: Hoare triple {3858#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3858#true} is VALID [2022-04-28 14:23:16,787 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3858#true} {3858#true} #63#return; {3858#true} is VALID [2022-04-28 14:23:16,787 INFO L290 TraceCheckUtils]: 15: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-28 14:23:16,787 INFO L290 TraceCheckUtils]: 14: Hoare triple {3858#true} assume !(0 == ~cond); {3858#true} is VALID [2022-04-28 14:23:16,787 INFO L290 TraceCheckUtils]: 13: Hoare triple {3858#true} ~cond := #in~cond; {3858#true} is VALID [2022-04-28 14:23:16,787 INFO L272 TraceCheckUtils]: 12: Hoare triple {3858#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {3858#true} is VALID [2022-04-28 14:23:16,787 INFO L290 TraceCheckUtils]: 11: Hoare triple {3858#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3858#true} is VALID [2022-04-28 14:23:16,787 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3858#true} {3858#true} #61#return; {3858#true} is VALID [2022-04-28 14:23:16,787 INFO L290 TraceCheckUtils]: 9: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-28 14:23:16,787 INFO L290 TraceCheckUtils]: 8: Hoare triple {3858#true} assume !(0 == ~cond); {3858#true} is VALID [2022-04-28 14:23:16,787 INFO L290 TraceCheckUtils]: 7: Hoare triple {3858#true} ~cond := #in~cond; {3858#true} is VALID [2022-04-28 14:23:16,787 INFO L272 TraceCheckUtils]: 6: Hoare triple {3858#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {3858#true} is VALID [2022-04-28 14:23:16,788 INFO L290 TraceCheckUtils]: 5: Hoare triple {3858#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3858#true} is VALID [2022-04-28 14:23:16,788 INFO L272 TraceCheckUtils]: 4: Hoare triple {3858#true} call #t~ret6 := main(); {3858#true} is VALID [2022-04-28 14:23:16,788 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3858#true} {3858#true} #71#return; {3858#true} is VALID [2022-04-28 14:23:16,788 INFO L290 TraceCheckUtils]: 2: Hoare triple {3858#true} assume true; {3858#true} is VALID [2022-04-28 14:23:16,788 INFO L290 TraceCheckUtils]: 1: Hoare triple {3858#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {3858#true} is VALID [2022-04-28 14:23:16,788 INFO L272 TraceCheckUtils]: 0: Hoare triple {3858#true} call ULTIMATE.init(); {3858#true} is VALID [2022-04-28 14:23:16,788 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 14:23:16,788 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:23:16,788 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1761544105] [2022-04-28 14:23:16,788 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:23:16,788 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [835484066] [2022-04-28 14:23:16,788 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [835484066] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:23:16,789 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:23:16,789 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 17 [2022-04-28 14:23:16,789 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:23:16,789 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1454761539] [2022-04-28 14:23:16,789 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1454761539] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:23:16,789 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:23:16,789 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 14:23:16,789 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [753177367] [2022-04-28 14:23:16,789 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:23:16,790 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 14:23:16,790 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:23:16,790 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:23:17,032 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 14:23:17,032 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 14:23:17,033 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:23:17,033 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 14:23:17,033 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-28 14:23:17,033 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:23:20,156 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:23:27,338 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.33s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:23:27,745 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:23:27,745 INFO L93 Difference]: Finished difference Result 68 states and 76 transitions. [2022-04-28 14:23:27,745 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 14:23:27,745 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 14:23:27,745 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:23:27,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:23:27,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 14:23:27,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:23:27,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 14:23:27,748 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-28 14:23:28,209 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:23:28,210 INFO L225 Difference]: With dead ends: 68 [2022-04-28 14:23:28,210 INFO L226 Difference]: Without dead ends: 66 [2022-04-28 14:23:28,210 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 74 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 64 ImplicationChecksByTransitivity, 9.0s TimeCoverageRelationStatistics Valid=67, Invalid=275, Unknown=0, NotChecked=0, Total=342 [2022-04-28 14:23:28,211 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 17 mSDsluCounter, 168 mSDsCounter, 0 mSdLazyCounter, 245 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 194 SdHoareTripleChecker+Invalid, 248 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 245 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.6s IncrementalHoareTripleChecker+Time [2022-04-28 14:23:28,211 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 194 Invalid, 248 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 245 Invalid, 1 Unknown, 0 Unchecked, 6.6s Time] [2022-04-28 14:23:28,212 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-28 14:23:28,308 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 62. [2022-04-28 14:23:28,309 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:23:28,309 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 62 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 14:23:28,309 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 62 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 14:23:28,309 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 62 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 14:23:28,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:23:28,312 INFO L93 Difference]: Finished difference Result 66 states and 74 transitions. [2022-04-28 14:23:28,312 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 74 transitions. [2022-04-28 14:23:28,312 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:23:28,313 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:23:28,313 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 66 states. [2022-04-28 14:23:28,313 INFO L87 Difference]: Start difference. First operand has 62 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 66 states. [2022-04-28 14:23:28,315 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:23:28,315 INFO L93 Difference]: Finished difference Result 66 states and 74 transitions. [2022-04-28 14:23:28,315 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 74 transitions. [2022-04-28 14:23:28,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:23:28,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:23:28,315 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:23:28,315 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:23:28,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 14:23:28,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 69 transitions. [2022-04-28 14:23:28,317 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 69 transitions. Word has length 46 [2022-04-28 14:23:28,317 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:23:28,317 INFO L495 AbstractCegarLoop]: Abstraction has 62 states and 69 transitions. [2022-04-28 14:23:28,317 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:23:28,318 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 62 states and 69 transitions. [2022-04-28 14:23:44,977 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 61 inductive. 0 not inductive. 8 times theorem prover too weak to decide inductivity. [2022-04-28 14:23:44,977 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 69 transitions. [2022-04-28 14:23:44,978 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 14:23:44,978 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:23:44,978 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:23:44,993 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 14:23:45,178 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 14:23:45,179 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:23:45,179 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:23:45,179 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 3 times [2022-04-28 14:23:45,179 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:23:45,179 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [168270595] [2022-04-28 14:23:45,179 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:23:45,179 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 4 times [2022-04-28 14:23:45,180 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:23:45,180 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1086950048] [2022-04-28 14:23:45,180 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:23:45,180 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:23:45,192 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:23:45,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1602726467] [2022-04-28 14:23:45,192 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:23:45,192 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:23:45,192 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:23:45,193 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 14:23:45,195 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 14:23:45,227 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:23:45,227 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:23:45,228 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 14:23:45,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:23:45,240 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:23:50,231 INFO L272 TraceCheckUtils]: 0: Hoare triple {4546#true} call ULTIMATE.init(); {4546#true} is VALID [2022-04-28 14:23:50,231 INFO L290 TraceCheckUtils]: 1: Hoare triple {4546#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {4546#true} is VALID [2022-04-28 14:23:50,231 INFO L290 TraceCheckUtils]: 2: Hoare triple {4546#true} assume true; {4546#true} is VALID [2022-04-28 14:23:50,231 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4546#true} {4546#true} #71#return; {4546#true} is VALID [2022-04-28 14:23:50,231 INFO L272 TraceCheckUtils]: 4: Hoare triple {4546#true} call #t~ret6 := main(); {4546#true} is VALID [2022-04-28 14:23:50,231 INFO L290 TraceCheckUtils]: 5: Hoare triple {4546#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {4546#true} is VALID [2022-04-28 14:23:50,231 INFO L272 TraceCheckUtils]: 6: Hoare triple {4546#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {4546#true} is VALID [2022-04-28 14:23:50,231 INFO L290 TraceCheckUtils]: 7: Hoare triple {4546#true} ~cond := #in~cond; {4546#true} is VALID [2022-04-28 14:23:50,232 INFO L290 TraceCheckUtils]: 8: Hoare triple {4546#true} assume !(0 == ~cond); {4546#true} is VALID [2022-04-28 14:23:50,232 INFO L290 TraceCheckUtils]: 9: Hoare triple {4546#true} assume true; {4546#true} is VALID [2022-04-28 14:23:50,232 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4546#true} {4546#true} #61#return; {4546#true} is VALID [2022-04-28 14:23:50,232 INFO L290 TraceCheckUtils]: 11: Hoare triple {4546#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4546#true} is VALID [2022-04-28 14:23:50,232 INFO L272 TraceCheckUtils]: 12: Hoare triple {4546#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {4546#true} is VALID [2022-04-28 14:23:50,232 INFO L290 TraceCheckUtils]: 13: Hoare triple {4546#true} ~cond := #in~cond; {4546#true} is VALID [2022-04-28 14:23:50,232 INFO L290 TraceCheckUtils]: 14: Hoare triple {4546#true} assume !(0 == ~cond); {4546#true} is VALID [2022-04-28 14:23:50,232 INFO L290 TraceCheckUtils]: 15: Hoare triple {4546#true} assume true; {4546#true} is VALID [2022-04-28 14:23:50,232 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4546#true} {4546#true} #63#return; {4546#true} is VALID [2022-04-28 14:23:50,232 INFO L272 TraceCheckUtils]: 17: Hoare triple {4546#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4546#true} is VALID [2022-04-28 14:23:50,233 INFO L290 TraceCheckUtils]: 18: Hoare triple {4546#true} ~cond := #in~cond; {4605#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:23:50,233 INFO L290 TraceCheckUtils]: 19: Hoare triple {4605#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4609#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:23:50,233 INFO L290 TraceCheckUtils]: 20: Hoare triple {4609#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4609#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:23:50,234 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4609#(not (= |assume_abort_if_not_#in~cond| 0))} {4546#true} #65#return; {4616#(<= 1 main_~b~0)} is VALID [2022-04-28 14:23:50,234 INFO L290 TraceCheckUtils]: 22: Hoare triple {4616#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4620#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:23:50,234 INFO L290 TraceCheckUtils]: 23: Hoare triple {4620#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {4620#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:23:50,234 INFO L272 TraceCheckUtils]: 24: Hoare triple {4620#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4546#true} is VALID [2022-04-28 14:23:50,235 INFO L290 TraceCheckUtils]: 25: Hoare triple {4546#true} ~cond := #in~cond; {4630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:23:50,235 INFO L290 TraceCheckUtils]: 26: Hoare triple {4630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:23:50,235 INFO L290 TraceCheckUtils]: 27: Hoare triple {4634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:23:50,236 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4634#(not (= |__VERIFIER_assert_#in~cond| 0))} {4620#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {4641#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:23:50,236 INFO L290 TraceCheckUtils]: 29: Hoare triple {4641#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {4641#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:23:50,237 INFO L290 TraceCheckUtils]: 30: Hoare triple {4641#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4648#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:23:50,238 INFO L290 TraceCheckUtils]: 31: Hoare triple {4648#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4652#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:23:50,238 INFO L290 TraceCheckUtils]: 32: Hoare triple {4652#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !false; {4652#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:23:50,238 INFO L272 TraceCheckUtils]: 33: Hoare triple {4652#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4546#true} is VALID [2022-04-28 14:23:50,238 INFO L290 TraceCheckUtils]: 34: Hoare triple {4546#true} ~cond := #in~cond; {4546#true} is VALID [2022-04-28 14:23:50,238 INFO L290 TraceCheckUtils]: 35: Hoare triple {4546#true} assume !(0 == ~cond); {4546#true} is VALID [2022-04-28 14:23:50,238 INFO L290 TraceCheckUtils]: 36: Hoare triple {4546#true} assume true; {4546#true} is VALID [2022-04-28 14:23:50,239 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4546#true} {4652#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} #67#return; {4652#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:23:50,239 INFO L290 TraceCheckUtils]: 38: Hoare triple {4652#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !!(0 != ~y~0); {4652#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:23:50,240 INFO L290 TraceCheckUtils]: 39: Hoare triple {4652#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4677#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:23:50,241 INFO L290 TraceCheckUtils]: 40: Hoare triple {4677#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4681#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:23:50,242 INFO L290 TraceCheckUtils]: 41: Hoare triple {4681#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {4681#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:23:50,244 INFO L272 TraceCheckUtils]: 42: Hoare triple {4681#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4688#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:23:50,244 INFO L290 TraceCheckUtils]: 43: Hoare triple {4688#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4692#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:23:50,244 INFO L290 TraceCheckUtils]: 44: Hoare triple {4692#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4547#false} is VALID [2022-04-28 14:23:50,244 INFO L290 TraceCheckUtils]: 45: Hoare triple {4547#false} assume !false; {4547#false} is VALID [2022-04-28 14:23:50,245 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 9 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-28 14:23:50,245 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:24:24,834 INFO L290 TraceCheckUtils]: 45: Hoare triple {4547#false} assume !false; {4547#false} is VALID [2022-04-28 14:24:24,834 INFO L290 TraceCheckUtils]: 44: Hoare triple {4692#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4547#false} is VALID [2022-04-28 14:24:24,835 INFO L290 TraceCheckUtils]: 43: Hoare triple {4688#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4692#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:24:24,835 INFO L272 TraceCheckUtils]: 42: Hoare triple {4708#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4688#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:24:24,835 INFO L290 TraceCheckUtils]: 41: Hoare triple {4708#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4708#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:24:24,840 INFO L290 TraceCheckUtils]: 40: Hoare triple {4715#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4708#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:24:24,840 INFO L290 TraceCheckUtils]: 39: Hoare triple {4719#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4715#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:24:24,841 INFO L290 TraceCheckUtils]: 38: Hoare triple {4719#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {4719#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:24:24,841 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4546#true} {4719#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #67#return; {4719#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:24:24,841 INFO L290 TraceCheckUtils]: 36: Hoare triple {4546#true} assume true; {4546#true} is VALID [2022-04-28 14:24:24,842 INFO L290 TraceCheckUtils]: 35: Hoare triple {4546#true} assume !(0 == ~cond); {4546#true} is VALID [2022-04-28 14:24:24,842 INFO L290 TraceCheckUtils]: 34: Hoare triple {4546#true} ~cond := #in~cond; {4546#true} is VALID [2022-04-28 14:24:24,842 INFO L272 TraceCheckUtils]: 33: Hoare triple {4719#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4546#true} is VALID [2022-04-28 14:24:24,842 INFO L290 TraceCheckUtils]: 32: Hoare triple {4719#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !false; {4719#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:24:24,858 INFO L290 TraceCheckUtils]: 31: Hoare triple {4744#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4719#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:24:24,860 INFO L290 TraceCheckUtils]: 30: Hoare triple {4748#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4744#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} is VALID [2022-04-28 14:24:24,861 INFO L290 TraceCheckUtils]: 29: Hoare triple {4748#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !!(0 != ~y~0); {4748#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-28 14:24:24,866 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4634#(not (= |__VERIFIER_assert_#in~cond| 0))} {4755#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} #67#return; {4748#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-28 14:24:24,866 INFO L290 TraceCheckUtils]: 27: Hoare triple {4634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:24:24,866 INFO L290 TraceCheckUtils]: 26: Hoare triple {4765#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:24:24,867 INFO L290 TraceCheckUtils]: 25: Hoare triple {4546#true} ~cond := #in~cond; {4765#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:24:24,867 INFO L272 TraceCheckUtils]: 24: Hoare triple {4755#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4546#true} is VALID [2022-04-28 14:24:24,867 INFO L290 TraceCheckUtils]: 23: Hoare triple {4755#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} assume !false; {4755#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} is VALID [2022-04-28 14:24:24,868 INFO L290 TraceCheckUtils]: 22: Hoare triple {4775#(or (and (= (mod main_~b~0 2) 0) (= (mod (div main_~b~0 2) 2) 0)) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4755#(or (<= 0 main_~y~0) (and (or (= (mod main_~y~0 2) 0) (= (* main_~y~0 main_~x~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) (* main_~x~0 4)))) (or (= (* main_~y~0 main_~x~0) (+ (* main_~x~0 4) (* (* main_~x~0 (div (div main_~y~0 2) 2)) 4))) (= (mod (div main_~y~0 2) 2) 0))))} is VALID [2022-04-28 14:24:24,869 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4609#(not (= |assume_abort_if_not_#in~cond| 0))} {4546#true} #65#return; {4775#(or (and (= (mod main_~b~0 2) 0) (= (mod (div main_~b~0 2) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:24:24,869 INFO L290 TraceCheckUtils]: 20: Hoare triple {4609#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4609#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:24:24,869 INFO L290 TraceCheckUtils]: 19: Hoare triple {4788#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4609#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:24:24,870 INFO L290 TraceCheckUtils]: 18: Hoare triple {4546#true} ~cond := #in~cond; {4788#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 14:24:24,870 INFO L272 TraceCheckUtils]: 17: Hoare triple {4546#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4546#true} is VALID [2022-04-28 14:24:24,870 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4546#true} {4546#true} #63#return; {4546#true} is VALID [2022-04-28 14:24:24,870 INFO L290 TraceCheckUtils]: 15: Hoare triple {4546#true} assume true; {4546#true} is VALID [2022-04-28 14:24:24,870 INFO L290 TraceCheckUtils]: 14: Hoare triple {4546#true} assume !(0 == ~cond); {4546#true} is VALID [2022-04-28 14:24:24,870 INFO L290 TraceCheckUtils]: 13: Hoare triple {4546#true} ~cond := #in~cond; {4546#true} is VALID [2022-04-28 14:24:24,870 INFO L272 TraceCheckUtils]: 12: Hoare triple {4546#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {4546#true} is VALID [2022-04-28 14:24:24,870 INFO L290 TraceCheckUtils]: 11: Hoare triple {4546#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4546#true} is VALID [2022-04-28 14:24:24,870 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4546#true} {4546#true} #61#return; {4546#true} is VALID [2022-04-28 14:24:24,870 INFO L290 TraceCheckUtils]: 9: Hoare triple {4546#true} assume true; {4546#true} is VALID [2022-04-28 14:24:24,870 INFO L290 TraceCheckUtils]: 8: Hoare triple {4546#true} assume !(0 == ~cond); {4546#true} is VALID [2022-04-28 14:24:24,871 INFO L290 TraceCheckUtils]: 7: Hoare triple {4546#true} ~cond := #in~cond; {4546#true} is VALID [2022-04-28 14:24:24,871 INFO L272 TraceCheckUtils]: 6: Hoare triple {4546#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {4546#true} is VALID [2022-04-28 14:24:24,871 INFO L290 TraceCheckUtils]: 5: Hoare triple {4546#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {4546#true} is VALID [2022-04-28 14:24:24,871 INFO L272 TraceCheckUtils]: 4: Hoare triple {4546#true} call #t~ret6 := main(); {4546#true} is VALID [2022-04-28 14:24:24,871 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4546#true} {4546#true} #71#return; {4546#true} is VALID [2022-04-28 14:24:24,871 INFO L290 TraceCheckUtils]: 2: Hoare triple {4546#true} assume true; {4546#true} is VALID [2022-04-28 14:24:24,871 INFO L290 TraceCheckUtils]: 1: Hoare triple {4546#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {4546#true} is VALID [2022-04-28 14:24:24,871 INFO L272 TraceCheckUtils]: 0: Hoare triple {4546#true} call ULTIMATE.init(); {4546#true} is VALID [2022-04-28 14:24:24,871 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 9 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-28 14:24:24,872 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:24:24,872 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1086950048] [2022-04-28 14:24:24,872 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:24:24,872 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1602726467] [2022-04-28 14:24:24,872 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1602726467] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:24:24,872 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:24:24,872 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 24 [2022-04-28 14:24:24,872 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:24:24,872 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [168270595] [2022-04-28 14:24:24,872 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [168270595] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:24:24,872 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:24:24,872 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 14:24:24,872 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2009710689] [2022-04-28 14:24:24,873 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:24:24,873 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 14:24:24,873 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:24:24,873 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:24:24,906 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:24:24,907 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 14:24:24,907 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:24:24,907 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 14:24:24,907 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=95, Invalid=457, Unknown=0, NotChecked=0, Total=552 [2022-04-28 14:24:24,907 INFO L87 Difference]: Start difference. First operand 62 states and 69 transitions. Second operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:24:25,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:24:25,861 INFO L93 Difference]: Finished difference Result 78 states and 85 transitions. [2022-04-28 14:24:25,861 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 14:24:25,861 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 14:24:25,861 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:24:25,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:24:25,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 55 transitions. [2022-04-28 14:24:25,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:24:25,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 55 transitions. [2022-04-28 14:24:25,864 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 55 transitions. [2022-04-28 14:24:25,921 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 14:24:25,922 INFO L225 Difference]: With dead ends: 78 [2022-04-28 14:24:25,922 INFO L226 Difference]: Without dead ends: 76 [2022-04-28 14:24:25,923 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 68 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 153 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=113, Invalid=589, Unknown=0, NotChecked=0, Total=702 [2022-04-28 14:24:25,923 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 29 mSDsluCounter, 114 mSDsCounter, 0 mSdLazyCounter, 249 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 135 SdHoareTripleChecker+Invalid, 258 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 249 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 14:24:25,923 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 135 Invalid, 258 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 249 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 14:24:25,924 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-28 14:24:25,996 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 50. [2022-04-28 14:24:25,996 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:24:25,997 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:24:25,997 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:24:25,997 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:24:26,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:24:26,000 INFO L93 Difference]: Finished difference Result 76 states and 83 transitions. [2022-04-28 14:24:26,000 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 83 transitions. [2022-04-28 14:24:26,001 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:24:26,001 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:24:26,001 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 76 states. [2022-04-28 14:24:26,001 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 76 states. [2022-04-28 14:24:26,003 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:24:26,003 INFO L93 Difference]: Finished difference Result 76 states and 83 transitions. [2022-04-28 14:24:26,003 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 83 transitions. [2022-04-28 14:24:26,003 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:24:26,003 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:24:26,003 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:24:26,003 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:24:26,003 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:24:26,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 14:24:26,005 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-28 14:24:26,005 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:24:26,005 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 14:24:26,005 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 14:24:26,005 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 14:24:36,708 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 51 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 14:24:36,708 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 14:24:36,708 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 14:24:36,708 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:24:36,708 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:24:36,724 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 14:24:36,909 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 14:24:36,910 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:24:36,910 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:24:36,910 INFO L85 PathProgramCache]: Analyzing trace with hash 1060406066, now seen corresponding path program 5 times [2022-04-28 14:24:36,910 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:24:36,910 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1188336725] [2022-04-28 14:24:36,910 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:24:36,910 INFO L85 PathProgramCache]: Analyzing trace with hash 1060406066, now seen corresponding path program 6 times [2022-04-28 14:24:36,911 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:24:36,911 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [942439593] [2022-04-28 14:24:36,911 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:24:36,911 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:24:36,926 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:24:36,926 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1787840439] [2022-04-28 14:24:36,926 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 14:24:36,927 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:24:36,927 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:24:36,928 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 14:24:36,931 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 14:24:36,971 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 14:24:36,971 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:24:36,972 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 14:24:36,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:24:36,986 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:25:03,119 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 14:25:07,404 INFO L272 TraceCheckUtils]: 0: Hoare triple {5259#true} call ULTIMATE.init(); {5259#true} is VALID [2022-04-28 14:25:07,404 INFO L290 TraceCheckUtils]: 1: Hoare triple {5259#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {5259#true} is VALID [2022-04-28 14:25:07,404 INFO L290 TraceCheckUtils]: 2: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-28 14:25:07,404 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5259#true} {5259#true} #71#return; {5259#true} is VALID [2022-04-28 14:25:07,405 INFO L272 TraceCheckUtils]: 4: Hoare triple {5259#true} call #t~ret6 := main(); {5259#true} is VALID [2022-04-28 14:25:07,405 INFO L290 TraceCheckUtils]: 5: Hoare triple {5259#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {5259#true} is VALID [2022-04-28 14:25:07,405 INFO L272 TraceCheckUtils]: 6: Hoare triple {5259#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {5259#true} is VALID [2022-04-28 14:25:07,405 INFO L290 TraceCheckUtils]: 7: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-28 14:25:07,405 INFO L290 TraceCheckUtils]: 8: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-28 14:25:07,405 INFO L290 TraceCheckUtils]: 9: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-28 14:25:07,405 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5259#true} {5259#true} #61#return; {5259#true} is VALID [2022-04-28 14:25:07,405 INFO L290 TraceCheckUtils]: 11: Hoare triple {5259#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5259#true} is VALID [2022-04-28 14:25:07,405 INFO L272 TraceCheckUtils]: 12: Hoare triple {5259#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {5259#true} is VALID [2022-04-28 14:25:07,405 INFO L290 TraceCheckUtils]: 13: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-28 14:25:07,406 INFO L290 TraceCheckUtils]: 14: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-28 14:25:07,406 INFO L290 TraceCheckUtils]: 15: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-28 14:25:07,406 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5259#true} {5259#true} #63#return; {5259#true} is VALID [2022-04-28 14:25:07,406 INFO L272 TraceCheckUtils]: 17: Hoare triple {5259#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5259#true} is VALID [2022-04-28 14:25:07,406 INFO L290 TraceCheckUtils]: 18: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-28 14:25:07,406 INFO L290 TraceCheckUtils]: 19: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-28 14:25:07,406 INFO L290 TraceCheckUtils]: 20: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-28 14:25:07,406 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5259#true} {5259#true} #65#return; {5259#true} is VALID [2022-04-28 14:25:07,406 INFO L290 TraceCheckUtils]: 22: Hoare triple {5259#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5259#true} is VALID [2022-04-28 14:25:07,406 INFO L290 TraceCheckUtils]: 23: Hoare triple {5259#true} assume !false; {5259#true} is VALID [2022-04-28 14:25:07,406 INFO L272 TraceCheckUtils]: 24: Hoare triple {5259#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5259#true} is VALID [2022-04-28 14:25:07,406 INFO L290 TraceCheckUtils]: 25: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-28 14:25:07,406 INFO L290 TraceCheckUtils]: 26: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-28 14:25:07,407 INFO L290 TraceCheckUtils]: 27: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-28 14:25:07,407 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5259#true} {5259#true} #67#return; {5259#true} is VALID [2022-04-28 14:25:07,407 INFO L290 TraceCheckUtils]: 29: Hoare triple {5259#true} assume !!(0 != ~y~0); {5259#true} is VALID [2022-04-28 14:25:07,407 INFO L290 TraceCheckUtils]: 30: Hoare triple {5259#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5259#true} is VALID [2022-04-28 14:25:07,407 INFO L290 TraceCheckUtils]: 31: Hoare triple {5259#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5259#true} is VALID [2022-04-28 14:25:07,407 INFO L290 TraceCheckUtils]: 32: Hoare triple {5259#true} assume !false; {5259#true} is VALID [2022-04-28 14:25:07,407 INFO L272 TraceCheckUtils]: 33: Hoare triple {5259#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5259#true} is VALID [2022-04-28 14:25:07,407 INFO L290 TraceCheckUtils]: 34: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-28 14:25:07,407 INFO L290 TraceCheckUtils]: 35: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-28 14:25:07,407 INFO L290 TraceCheckUtils]: 36: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-28 14:25:07,407 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5259#true} {5259#true} #67#return; {5259#true} is VALID [2022-04-28 14:25:07,407 INFO L290 TraceCheckUtils]: 38: Hoare triple {5259#true} assume !!(0 != ~y~0); {5259#true} is VALID [2022-04-28 14:25:07,407 INFO L290 TraceCheckUtils]: 39: Hoare triple {5259#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5259#true} is VALID [2022-04-28 14:25:07,407 INFO L290 TraceCheckUtils]: 40: Hoare triple {5259#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5259#true} is VALID [2022-04-28 14:25:07,408 INFO L290 TraceCheckUtils]: 41: Hoare triple {5259#true} assume !false; {5259#true} is VALID [2022-04-28 14:25:07,408 INFO L272 TraceCheckUtils]: 42: Hoare triple {5259#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5259#true} is VALID [2022-04-28 14:25:07,408 INFO L290 TraceCheckUtils]: 43: Hoare triple {5259#true} ~cond := #in~cond; {5393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:25:07,408 INFO L290 TraceCheckUtils]: 44: Hoare triple {5393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:25:07,409 INFO L290 TraceCheckUtils]: 45: Hoare triple {5397#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:25:07,409 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5397#(not (= |__VERIFIER_assert_#in~cond| 0))} {5259#true} #67#return; {5404#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:25:07,410 INFO L290 TraceCheckUtils]: 47: Hoare triple {5404#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(0 != ~y~0); {5408#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:25:07,412 INFO L290 TraceCheckUtils]: 48: Hoare triple {5408#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5412#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:25:08,325 INFO L290 TraceCheckUtils]: 49: Hoare triple {5412#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5416#(and (exists ((aux_div_v_main_~y~0_56_28 Int) (aux_mod_v_main_~y~0_56_28 Int)) (and (= (+ (* (div (* (- 1) main_~x~0) (- 2)) aux_mod_v_main_~y~0_56_28) main_~z~0 (* (* (div (* (- 1) main_~x~0) (- 2)) aux_div_v_main_~y~0_56_28) 2)) (+ (div (* (- 1) main_~x~0) (- 2)) (* main_~b~0 main_~a~0))) (<= 0 (+ (* aux_div_v_main_~y~0_56_28 2) aux_mod_v_main_~y~0_56_28)) (<= 1 aux_mod_v_main_~y~0_56_28) (< aux_mod_v_main_~y~0_56_28 2) (= (div (+ (- 1) (* aux_div_v_main_~y~0_56_28 2) aux_mod_v_main_~y~0_56_28) 2) main_~y~0))) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:25:08,707 INFO L290 TraceCheckUtils]: 50: Hoare triple {5416#(and (exists ((aux_div_v_main_~y~0_56_28 Int) (aux_mod_v_main_~y~0_56_28 Int)) (and (= (+ (* (div (* (- 1) main_~x~0) (- 2)) aux_mod_v_main_~y~0_56_28) main_~z~0 (* (* (div (* (- 1) main_~x~0) (- 2)) aux_div_v_main_~y~0_56_28) 2)) (+ (div (* (- 1) main_~x~0) (- 2)) (* main_~b~0 main_~a~0))) (<= 0 (+ (* aux_div_v_main_~y~0_56_28 2) aux_mod_v_main_~y~0_56_28)) (<= 1 aux_mod_v_main_~y~0_56_28) (< aux_mod_v_main_~y~0_56_28 2) (= (div (+ (- 1) (* aux_div_v_main_~y~0_56_28 2) aux_mod_v_main_~y~0_56_28) 2) main_~y~0))) (= (mod main_~x~0 2) 0))} assume !false; {5420#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:25:08,991 INFO L272 TraceCheckUtils]: 51: Hoare triple {5420#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5424#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:25:08,992 INFO L290 TraceCheckUtils]: 52: Hoare triple {5424#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5428#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:25:08,992 INFO L290 TraceCheckUtils]: 53: Hoare triple {5428#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5260#false} is VALID [2022-04-28 14:25:08,992 INFO L290 TraceCheckUtils]: 54: Hoare triple {5260#false} assume !false; {5260#false} is VALID [2022-04-28 14:25:08,993 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-28 14:25:08,993 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:26:26,398 INFO L290 TraceCheckUtils]: 54: Hoare triple {5260#false} assume !false; {5260#false} is VALID [2022-04-28 14:26:26,398 INFO L290 TraceCheckUtils]: 53: Hoare triple {5428#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5260#false} is VALID [2022-04-28 14:26:26,399 INFO L290 TraceCheckUtils]: 52: Hoare triple {5424#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5428#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:26:26,399 INFO L272 TraceCheckUtils]: 51: Hoare triple {5404#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5424#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:26:26,400 INFO L290 TraceCheckUtils]: 50: Hoare triple {5404#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {5404#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:26:26,405 INFO L290 TraceCheckUtils]: 49: Hoare triple {5450#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5404#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:26:26,408 INFO L290 TraceCheckUtils]: 48: Hoare triple {5454#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5450#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:26:26,408 INFO L290 TraceCheckUtils]: 47: Hoare triple {5454#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {5454#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 14:26:28,414 WARN L284 TraceCheckUtils]: 46: Hoare quadruple {5397#(not (= |__VERIFIER_assert_#in~cond| 0))} {5259#true} #67#return; {5454#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is UNKNOWN [2022-04-28 14:26:28,414 INFO L290 TraceCheckUtils]: 45: Hoare triple {5397#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:26:28,415 INFO L290 TraceCheckUtils]: 44: Hoare triple {5470#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:26:28,415 INFO L290 TraceCheckUtils]: 43: Hoare triple {5259#true} ~cond := #in~cond; {5470#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:26:28,415 INFO L272 TraceCheckUtils]: 42: Hoare triple {5259#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5259#true} is VALID [2022-04-28 14:26:28,415 INFO L290 TraceCheckUtils]: 41: Hoare triple {5259#true} assume !false; {5259#true} is VALID [2022-04-28 14:26:28,415 INFO L290 TraceCheckUtils]: 40: Hoare triple {5259#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5259#true} is VALID [2022-04-28 14:26:28,416 INFO L290 TraceCheckUtils]: 39: Hoare triple {5259#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5259#true} is VALID [2022-04-28 14:26:28,416 INFO L290 TraceCheckUtils]: 38: Hoare triple {5259#true} assume !!(0 != ~y~0); {5259#true} is VALID [2022-04-28 14:26:28,416 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5259#true} {5259#true} #67#return; {5259#true} is VALID [2022-04-28 14:26:28,416 INFO L290 TraceCheckUtils]: 36: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-28 14:26:28,416 INFO L290 TraceCheckUtils]: 35: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-28 14:26:28,416 INFO L290 TraceCheckUtils]: 34: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-28 14:26:28,416 INFO L272 TraceCheckUtils]: 33: Hoare triple {5259#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5259#true} is VALID [2022-04-28 14:26:28,416 INFO L290 TraceCheckUtils]: 32: Hoare triple {5259#true} assume !false; {5259#true} is VALID [2022-04-28 14:26:28,416 INFO L290 TraceCheckUtils]: 31: Hoare triple {5259#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5259#true} is VALID [2022-04-28 14:26:28,416 INFO L290 TraceCheckUtils]: 30: Hoare triple {5259#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5259#true} is VALID [2022-04-28 14:26:28,417 INFO L290 TraceCheckUtils]: 29: Hoare triple {5259#true} assume !!(0 != ~y~0); {5259#true} is VALID [2022-04-28 14:26:28,417 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5259#true} {5259#true} #67#return; {5259#true} is VALID [2022-04-28 14:26:28,417 INFO L290 TraceCheckUtils]: 27: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-28 14:26:28,417 INFO L290 TraceCheckUtils]: 26: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-28 14:26:28,417 INFO L290 TraceCheckUtils]: 25: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-28 14:26:28,417 INFO L272 TraceCheckUtils]: 24: Hoare triple {5259#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5259#true} is VALID [2022-04-28 14:26:28,417 INFO L290 TraceCheckUtils]: 23: Hoare triple {5259#true} assume !false; {5259#true} is VALID [2022-04-28 14:26:28,417 INFO L290 TraceCheckUtils]: 22: Hoare triple {5259#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5259#true} is VALID [2022-04-28 14:26:28,417 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5259#true} {5259#true} #65#return; {5259#true} is VALID [2022-04-28 14:26:28,417 INFO L290 TraceCheckUtils]: 20: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-28 14:26:28,418 INFO L290 TraceCheckUtils]: 19: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-28 14:26:28,418 INFO L290 TraceCheckUtils]: 18: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-28 14:26:28,418 INFO L272 TraceCheckUtils]: 17: Hoare triple {5259#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5259#true} is VALID [2022-04-28 14:26:28,418 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5259#true} {5259#true} #63#return; {5259#true} is VALID [2022-04-28 14:26:28,418 INFO L290 TraceCheckUtils]: 15: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-28 14:26:28,418 INFO L290 TraceCheckUtils]: 14: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-28 14:26:28,418 INFO L290 TraceCheckUtils]: 13: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-28 14:26:28,418 INFO L272 TraceCheckUtils]: 12: Hoare triple {5259#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {5259#true} is VALID [2022-04-28 14:26:28,418 INFO L290 TraceCheckUtils]: 11: Hoare triple {5259#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5259#true} is VALID [2022-04-28 14:26:28,418 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5259#true} {5259#true} #61#return; {5259#true} is VALID [2022-04-28 14:26:28,418 INFO L290 TraceCheckUtils]: 9: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-28 14:26:28,419 INFO L290 TraceCheckUtils]: 8: Hoare triple {5259#true} assume !(0 == ~cond); {5259#true} is VALID [2022-04-28 14:26:28,419 INFO L290 TraceCheckUtils]: 7: Hoare triple {5259#true} ~cond := #in~cond; {5259#true} is VALID [2022-04-28 14:26:28,419 INFO L272 TraceCheckUtils]: 6: Hoare triple {5259#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {5259#true} is VALID [2022-04-28 14:26:28,419 INFO L290 TraceCheckUtils]: 5: Hoare triple {5259#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {5259#true} is VALID [2022-04-28 14:26:28,419 INFO L272 TraceCheckUtils]: 4: Hoare triple {5259#true} call #t~ret6 := main(); {5259#true} is VALID [2022-04-28 14:26:28,419 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5259#true} {5259#true} #71#return; {5259#true} is VALID [2022-04-28 14:26:28,419 INFO L290 TraceCheckUtils]: 2: Hoare triple {5259#true} assume true; {5259#true} is VALID [2022-04-28 14:26:28,419 INFO L290 TraceCheckUtils]: 1: Hoare triple {5259#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {5259#true} is VALID [2022-04-28 14:26:28,419 INFO L272 TraceCheckUtils]: 0: Hoare triple {5259#true} call ULTIMATE.init(); {5259#true} is VALID [2022-04-28 14:26:28,420 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-28 14:26:28,420 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:26:28,420 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [942439593] [2022-04-28 14:26:28,420 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:26:28,420 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1787840439] [2022-04-28 14:26:28,420 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1787840439] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:26:28,420 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:26:28,420 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 14 [2022-04-28 14:26:28,420 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:26:28,421 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1188336725] [2022-04-28 14:26:28,421 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1188336725] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:26:28,421 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:26:28,421 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 14:26:28,421 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2053320161] [2022-04-28 14:26:28,421 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:26:28,422 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 55 [2022-04-28 14:26:28,422 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:26:28,422 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:26:30,769 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:26:30,770 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 14:26:30,770 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:26:30,770 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 14:26:30,770 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=140, Unknown=2, NotChecked=0, Total=182 [2022-04-28 14:26:30,770 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:26:33,168 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:26:36,790 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:26:38,793 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:26:39,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:26:39,431 INFO L93 Difference]: Finished difference Result 73 states and 78 transitions. [2022-04-28 14:26:39,431 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 14:26:39,432 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 55 [2022-04-28 14:26:39,432 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:26:39,432 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:26:39,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 41 transitions. [2022-04-28 14:26:39,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:26:39,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 41 transitions. [2022-04-28 14:26:39,434 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 41 transitions. [2022-04-28 14:26:42,638 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 14:26:42,639 INFO L225 Difference]: With dead ends: 73 [2022-04-28 14:26:42,639 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 14:26:42,640 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 111 GetRequests, 95 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 13.1s TimeCoverageRelationStatistics Valid=53, Invalid=185, Unknown=2, NotChecked=0, Total=240 [2022-04-28 14:26:42,640 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 16 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 79 mSolverCounterSat, 5 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 115 SdHoareTripleChecker+Invalid, 95 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 79 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 8 IncrementalHoareTripleChecker+Unchecked, 7.3s IncrementalHoareTripleChecker+Time [2022-04-28 14:26:42,640 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 115 Invalid, 95 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 79 Invalid, 3 Unknown, 8 Unchecked, 7.3s Time] [2022-04-28 14:26:42,641 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 14:26:42,721 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 50. [2022-04-28 14:26:42,721 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:26:42,721 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:26:42,721 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:26:42,722 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:26:42,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:26:42,723 INFO L93 Difference]: Finished difference Result 71 states and 76 transitions. [2022-04-28 14:26:42,723 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 76 transitions. [2022-04-28 14:26:42,724 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:26:42,724 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:26:42,724 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 71 states. [2022-04-28 14:26:42,724 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 71 states. [2022-04-28 14:26:42,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:26:42,726 INFO L93 Difference]: Finished difference Result 71 states and 76 transitions. [2022-04-28 14:26:42,726 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 76 transitions. [2022-04-28 14:26:42,726 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:26:42,726 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:26:42,726 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:26:42,726 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:26:42,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:26:42,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 14:26:42,727 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 55 [2022-04-28 14:26:42,728 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:26:42,728 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 14:26:42,728 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 14:26:42,728 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 14:26:55,625 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 50 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 14:26:55,626 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 14:26:55,626 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 14:26:55,626 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:26:55,626 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:26:55,644 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 14:26:55,826 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 14:26:55,827 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:26:55,827 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:26:55,827 INFO L85 PathProgramCache]: Analyzing trace with hash -1459553868, now seen corresponding path program 5 times [2022-04-28 14:26:55,827 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:26:55,827 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1745356571] [2022-04-28 14:26:55,828 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:26:55,828 INFO L85 PathProgramCache]: Analyzing trace with hash -1459553868, now seen corresponding path program 6 times [2022-04-28 14:26:55,828 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:26:55,828 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1891737954] [2022-04-28 14:26:55,828 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:26:55,828 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:26:55,840 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:26:55,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1564964539] [2022-04-28 14:26:55,840 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 14:26:55,840 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:26:55,840 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:26:55,847 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 14:26:55,848 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 14:26:55,896 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 14:26:55,897 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:26:55,897 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 14:26:55,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:26:55,915 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:27:21,775 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 14:27:28,606 INFO L272 TraceCheckUtils]: 0: Hoare triple {5994#true} call ULTIMATE.init(); {5994#true} is VALID [2022-04-28 14:27:28,606 INFO L290 TraceCheckUtils]: 1: Hoare triple {5994#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {5994#true} is VALID [2022-04-28 14:27:28,606 INFO L290 TraceCheckUtils]: 2: Hoare triple {5994#true} assume true; {5994#true} is VALID [2022-04-28 14:27:28,606 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5994#true} {5994#true} #71#return; {5994#true} is VALID [2022-04-28 14:27:28,607 INFO L272 TraceCheckUtils]: 4: Hoare triple {5994#true} call #t~ret6 := main(); {5994#true} is VALID [2022-04-28 14:27:28,607 INFO L290 TraceCheckUtils]: 5: Hoare triple {5994#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {5994#true} is VALID [2022-04-28 14:27:28,607 INFO L272 TraceCheckUtils]: 6: Hoare triple {5994#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {5994#true} is VALID [2022-04-28 14:27:28,607 INFO L290 TraceCheckUtils]: 7: Hoare triple {5994#true} ~cond := #in~cond; {5994#true} is VALID [2022-04-28 14:27:28,607 INFO L290 TraceCheckUtils]: 8: Hoare triple {5994#true} assume !(0 == ~cond); {5994#true} is VALID [2022-04-28 14:27:28,607 INFO L290 TraceCheckUtils]: 9: Hoare triple {5994#true} assume true; {5994#true} is VALID [2022-04-28 14:27:28,607 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5994#true} {5994#true} #61#return; {5994#true} is VALID [2022-04-28 14:27:28,607 INFO L290 TraceCheckUtils]: 11: Hoare triple {5994#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5994#true} is VALID [2022-04-28 14:27:28,607 INFO L272 TraceCheckUtils]: 12: Hoare triple {5994#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {5994#true} is VALID [2022-04-28 14:27:28,607 INFO L290 TraceCheckUtils]: 13: Hoare triple {5994#true} ~cond := #in~cond; {5994#true} is VALID [2022-04-28 14:27:28,607 INFO L290 TraceCheckUtils]: 14: Hoare triple {5994#true} assume !(0 == ~cond); {5994#true} is VALID [2022-04-28 14:27:28,607 INFO L290 TraceCheckUtils]: 15: Hoare triple {5994#true} assume true; {5994#true} is VALID [2022-04-28 14:27:28,607 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5994#true} {5994#true} #63#return; {5994#true} is VALID [2022-04-28 14:27:28,607 INFO L272 TraceCheckUtils]: 17: Hoare triple {5994#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5994#true} is VALID [2022-04-28 14:27:28,608 INFO L290 TraceCheckUtils]: 18: Hoare triple {5994#true} ~cond := #in~cond; {5994#true} is VALID [2022-04-28 14:27:28,608 INFO L290 TraceCheckUtils]: 19: Hoare triple {5994#true} assume !(0 == ~cond); {5994#true} is VALID [2022-04-28 14:27:28,608 INFO L290 TraceCheckUtils]: 20: Hoare triple {5994#true} assume true; {5994#true} is VALID [2022-04-28 14:27:28,608 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5994#true} {5994#true} #65#return; {5994#true} is VALID [2022-04-28 14:27:28,608 INFO L290 TraceCheckUtils]: 22: Hoare triple {5994#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5994#true} is VALID [2022-04-28 14:27:28,608 INFO L290 TraceCheckUtils]: 23: Hoare triple {5994#true} assume !false; {5994#true} is VALID [2022-04-28 14:27:28,608 INFO L272 TraceCheckUtils]: 24: Hoare triple {5994#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5994#true} is VALID [2022-04-28 14:27:28,608 INFO L290 TraceCheckUtils]: 25: Hoare triple {5994#true} ~cond := #in~cond; {5994#true} is VALID [2022-04-28 14:27:28,608 INFO L290 TraceCheckUtils]: 26: Hoare triple {5994#true} assume !(0 == ~cond); {5994#true} is VALID [2022-04-28 14:27:28,608 INFO L290 TraceCheckUtils]: 27: Hoare triple {5994#true} assume true; {5994#true} is VALID [2022-04-28 14:27:28,609 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5994#true} {5994#true} #67#return; {5994#true} is VALID [2022-04-28 14:27:28,609 INFO L290 TraceCheckUtils]: 29: Hoare triple {5994#true} assume !!(0 != ~y~0); {5994#true} is VALID [2022-04-28 14:27:28,609 INFO L290 TraceCheckUtils]: 30: Hoare triple {5994#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5994#true} is VALID [2022-04-28 14:27:28,609 INFO L290 TraceCheckUtils]: 31: Hoare triple {5994#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5994#true} is VALID [2022-04-28 14:27:28,609 INFO L290 TraceCheckUtils]: 32: Hoare triple {5994#true} assume !false; {5994#true} is VALID [2022-04-28 14:27:28,609 INFO L272 TraceCheckUtils]: 33: Hoare triple {5994#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5994#true} is VALID [2022-04-28 14:27:28,609 INFO L290 TraceCheckUtils]: 34: Hoare triple {5994#true} ~cond := #in~cond; {5994#true} is VALID [2022-04-28 14:27:28,609 INFO L290 TraceCheckUtils]: 35: Hoare triple {5994#true} assume !(0 == ~cond); {5994#true} is VALID [2022-04-28 14:27:28,609 INFO L290 TraceCheckUtils]: 36: Hoare triple {5994#true} assume true; {5994#true} is VALID [2022-04-28 14:27:28,610 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5994#true} {5994#true} #67#return; {5994#true} is VALID [2022-04-28 14:27:28,623 INFO L290 TraceCheckUtils]: 38: Hoare triple {5994#true} assume !!(0 != ~y~0); {6113#(not (= main_~y~0 0))} is VALID [2022-04-28 14:27:28,624 INFO L290 TraceCheckUtils]: 39: Hoare triple {6113#(not (= main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {6117#(< 0 (+ main_~y~0 1))} is VALID [2022-04-28 14:27:28,625 INFO L290 TraceCheckUtils]: 40: Hoare triple {6117#(< 0 (+ main_~y~0 1))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6117#(< 0 (+ main_~y~0 1))} is VALID [2022-04-28 14:27:28,626 INFO L290 TraceCheckUtils]: 41: Hoare triple {6117#(< 0 (+ main_~y~0 1))} assume !false; {6117#(< 0 (+ main_~y~0 1))} is VALID [2022-04-28 14:27:28,626 INFO L272 TraceCheckUtils]: 42: Hoare triple {6117#(< 0 (+ main_~y~0 1))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5994#true} is VALID [2022-04-28 14:27:28,626 INFO L290 TraceCheckUtils]: 43: Hoare triple {5994#true} ~cond := #in~cond; {6130#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:27:28,626 INFO L290 TraceCheckUtils]: 44: Hoare triple {6130#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:27:28,627 INFO L290 TraceCheckUtils]: 45: Hoare triple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:27:28,628 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} {6117#(< 0 (+ main_~y~0 1))} #67#return; {6141#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:27:28,628 INFO L290 TraceCheckUtils]: 47: Hoare triple {6141#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} assume !!(0 != ~y~0); {6141#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:27:28,629 INFO L290 TraceCheckUtils]: 48: Hoare triple {6141#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6148#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:27:28,788 INFO L290 TraceCheckUtils]: 49: Hoare triple {6148#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6152#(and (exists ((aux_div_v_main_~y~0_63_22 Int) (aux_mod_v_main_~y~0_63_22 Int)) (and (<= 0 aux_mod_v_main_~y~0_63_22) (< 0 (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2) 1)) (= (+ main_~z~0 (* (div (- main_~x~0) (- 2)) (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2)))) (* main_~b~0 main_~a~0)) (= main_~y~0 (div (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2)) 2)) (< aux_mod_v_main_~y~0_63_22 2) (not (= aux_mod_v_main_~y~0_63_22 1)))) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:27:29,451 INFO L290 TraceCheckUtils]: 50: Hoare triple {6152#(and (exists ((aux_div_v_main_~y~0_63_22 Int) (aux_mod_v_main_~y~0_63_22 Int)) (and (<= 0 aux_mod_v_main_~y~0_63_22) (< 0 (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2) 1)) (= (+ main_~z~0 (* (div (- main_~x~0) (- 2)) (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2)))) (* main_~b~0 main_~a~0)) (= main_~y~0 (div (+ aux_mod_v_main_~y~0_63_22 (* aux_div_v_main_~y~0_63_22 2)) 2)) (< aux_mod_v_main_~y~0_63_22 2) (not (= aux_mod_v_main_~y~0_63_22 1)))) (= (mod main_~x~0 2) 0))} assume !false; {6156#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:27:29,632 INFO L272 TraceCheckUtils]: 51: Hoare triple {6156#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6160#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:27:29,633 INFO L290 TraceCheckUtils]: 52: Hoare triple {6160#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6164#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:27:29,633 INFO L290 TraceCheckUtils]: 53: Hoare triple {6164#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5995#false} is VALID [2022-04-28 14:27:29,633 INFO L290 TraceCheckUtils]: 54: Hoare triple {5995#false} assume !false; {5995#false} is VALID [2022-04-28 14:27:29,633 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 28 proven. 2 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-28 14:27:29,633 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:28:15,100 INFO L290 TraceCheckUtils]: 54: Hoare triple {5995#false} assume !false; {5995#false} is VALID [2022-04-28 14:28:15,101 INFO L290 TraceCheckUtils]: 53: Hoare triple {6164#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5995#false} is VALID [2022-04-28 14:28:15,101 INFO L290 TraceCheckUtils]: 52: Hoare triple {6160#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6164#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:28:15,102 INFO L272 TraceCheckUtils]: 51: Hoare triple {6180#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6160#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:28:15,102 INFO L290 TraceCheckUtils]: 50: Hoare triple {6180#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {6180#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:28:15,120 INFO L290 TraceCheckUtils]: 49: Hoare triple {6187#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6180#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:28:15,121 INFO L290 TraceCheckUtils]: 48: Hoare triple {6191#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6187#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 14:28:15,121 INFO L290 TraceCheckUtils]: 47: Hoare triple {6191#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {6191#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:28:15,124 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} {6198#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} #67#return; {6191#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 14:28:15,124 INFO L290 TraceCheckUtils]: 45: Hoare triple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:28:15,124 INFO L290 TraceCheckUtils]: 44: Hoare triple {6208#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:28:15,125 INFO L290 TraceCheckUtils]: 43: Hoare triple {5994#true} ~cond := #in~cond; {6208#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:28:15,125 INFO L272 TraceCheckUtils]: 42: Hoare triple {6198#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5994#true} is VALID [2022-04-28 14:28:15,125 INFO L290 TraceCheckUtils]: 41: Hoare triple {6198#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} assume !false; {6198#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 14:28:15,126 INFO L290 TraceCheckUtils]: 40: Hoare triple {6218#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6198#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 14:28:15,127 INFO L290 TraceCheckUtils]: 39: Hoare triple {5994#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {6218#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-28 14:28:15,127 INFO L290 TraceCheckUtils]: 38: Hoare triple {5994#true} assume !!(0 != ~y~0); {5994#true} is VALID [2022-04-28 14:28:15,127 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5994#true} {5994#true} #67#return; {5994#true} is VALID [2022-04-28 14:28:15,127 INFO L290 TraceCheckUtils]: 36: Hoare triple {5994#true} assume true; {5994#true} is VALID [2022-04-28 14:28:15,127 INFO L290 TraceCheckUtils]: 35: Hoare triple {5994#true} assume !(0 == ~cond); {5994#true} is VALID [2022-04-28 14:28:15,128 INFO L290 TraceCheckUtils]: 34: Hoare triple {5994#true} ~cond := #in~cond; {5994#true} is VALID [2022-04-28 14:28:15,128 INFO L272 TraceCheckUtils]: 33: Hoare triple {5994#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5994#true} is VALID [2022-04-28 14:28:15,128 INFO L290 TraceCheckUtils]: 32: Hoare triple {5994#true} assume !false; {5994#true} is VALID [2022-04-28 14:28:15,128 INFO L290 TraceCheckUtils]: 31: Hoare triple {5994#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5994#true} is VALID [2022-04-28 14:28:15,128 INFO L290 TraceCheckUtils]: 30: Hoare triple {5994#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5994#true} is VALID [2022-04-28 14:28:15,128 INFO L290 TraceCheckUtils]: 29: Hoare triple {5994#true} assume !!(0 != ~y~0); {5994#true} is VALID [2022-04-28 14:28:15,128 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5994#true} {5994#true} #67#return; {5994#true} is VALID [2022-04-28 14:28:15,128 INFO L290 TraceCheckUtils]: 27: Hoare triple {5994#true} assume true; {5994#true} is VALID [2022-04-28 14:28:15,128 INFO L290 TraceCheckUtils]: 26: Hoare triple {5994#true} assume !(0 == ~cond); {5994#true} is VALID [2022-04-28 14:28:15,128 INFO L290 TraceCheckUtils]: 25: Hoare triple {5994#true} ~cond := #in~cond; {5994#true} is VALID [2022-04-28 14:28:15,128 INFO L272 TraceCheckUtils]: 24: Hoare triple {5994#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5994#true} is VALID [2022-04-28 14:28:15,128 INFO L290 TraceCheckUtils]: 23: Hoare triple {5994#true} assume !false; {5994#true} is VALID [2022-04-28 14:28:15,128 INFO L290 TraceCheckUtils]: 22: Hoare triple {5994#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5994#true} is VALID [2022-04-28 14:28:15,129 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5994#true} {5994#true} #65#return; {5994#true} is VALID [2022-04-28 14:28:15,129 INFO L290 TraceCheckUtils]: 20: Hoare triple {5994#true} assume true; {5994#true} is VALID [2022-04-28 14:28:15,129 INFO L290 TraceCheckUtils]: 19: Hoare triple {5994#true} assume !(0 == ~cond); {5994#true} is VALID [2022-04-28 14:28:15,129 INFO L290 TraceCheckUtils]: 18: Hoare triple {5994#true} ~cond := #in~cond; {5994#true} is VALID [2022-04-28 14:28:15,129 INFO L272 TraceCheckUtils]: 17: Hoare triple {5994#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5994#true} is VALID [2022-04-28 14:28:15,129 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5994#true} {5994#true} #63#return; {5994#true} is VALID [2022-04-28 14:28:15,129 INFO L290 TraceCheckUtils]: 15: Hoare triple {5994#true} assume true; {5994#true} is VALID [2022-04-28 14:28:15,129 INFO L290 TraceCheckUtils]: 14: Hoare triple {5994#true} assume !(0 == ~cond); {5994#true} is VALID [2022-04-28 14:28:15,129 INFO L290 TraceCheckUtils]: 13: Hoare triple {5994#true} ~cond := #in~cond; {5994#true} is VALID [2022-04-28 14:28:15,130 INFO L272 TraceCheckUtils]: 12: Hoare triple {5994#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {5994#true} is VALID [2022-04-28 14:28:15,130 INFO L290 TraceCheckUtils]: 11: Hoare triple {5994#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5994#true} is VALID [2022-04-28 14:28:15,130 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5994#true} {5994#true} #61#return; {5994#true} is VALID [2022-04-28 14:28:15,130 INFO L290 TraceCheckUtils]: 9: Hoare triple {5994#true} assume true; {5994#true} is VALID [2022-04-28 14:28:15,130 INFO L290 TraceCheckUtils]: 8: Hoare triple {5994#true} assume !(0 == ~cond); {5994#true} is VALID [2022-04-28 14:28:15,130 INFO L290 TraceCheckUtils]: 7: Hoare triple {5994#true} ~cond := #in~cond; {5994#true} is VALID [2022-04-28 14:28:15,130 INFO L272 TraceCheckUtils]: 6: Hoare triple {5994#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {5994#true} is VALID [2022-04-28 14:28:15,130 INFO L290 TraceCheckUtils]: 5: Hoare triple {5994#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {5994#true} is VALID [2022-04-28 14:28:15,130 INFO L272 TraceCheckUtils]: 4: Hoare triple {5994#true} call #t~ret6 := main(); {5994#true} is VALID [2022-04-28 14:28:15,130 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5994#true} {5994#true} #71#return; {5994#true} is VALID [2022-04-28 14:28:15,131 INFO L290 TraceCheckUtils]: 2: Hoare triple {5994#true} assume true; {5994#true} is VALID [2022-04-28 14:28:15,131 INFO L290 TraceCheckUtils]: 1: Hoare triple {5994#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {5994#true} is VALID [2022-04-28 14:28:15,131 INFO L272 TraceCheckUtils]: 0: Hoare triple {5994#true} call ULTIMATE.init(); {5994#true} is VALID [2022-04-28 14:28:15,131 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 25 proven. 4 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 14:28:15,131 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:28:15,131 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1891737954] [2022-04-28 14:28:15,131 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:28:15,132 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1564964539] [2022-04-28 14:28:15,132 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1564964539] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:28:15,132 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:28:15,132 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 18 [2022-04-28 14:28:15,132 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:28:15,132 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1745356571] [2022-04-28 14:28:15,132 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1745356571] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:28:15,132 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:28:15,132 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 14:28:15,132 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1106739317] [2022-04-28 14:28:15,133 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:28:15,133 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 55 [2022-04-28 14:28:15,133 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:28:15,133 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:28:17,249 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:28:17,250 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 14:28:17,250 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:28:17,250 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 14:28:17,250 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=238, Unknown=7, NotChecked=0, Total=306 [2022-04-28 14:28:17,250 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:28:29,708 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.02s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:28:47,682 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:28:47,682 INFO L93 Difference]: Finished difference Result 84 states and 95 transitions. [2022-04-28 14:28:47,682 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 14:28:47,683 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 55 [2022-04-28 14:28:47,683 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:28:47,683 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:28:47,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 55 transitions. [2022-04-28 14:28:47,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:28:47,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 55 transitions. [2022-04-28 14:28:47,685 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 55 transitions. [2022-04-28 14:28:52,177 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 14:28:52,179 INFO L225 Difference]: With dead ends: 84 [2022-04-28 14:28:52,179 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 14:28:52,179 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 92 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 97 ImplicationChecksByTransitivity, 22.8s TimeCoverageRelationStatistics Valid=136, Invalid=457, Unknown=7, NotChecked=0, Total=600 [2022-04-28 14:28:52,181 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 20 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 145 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 148 SdHoareTripleChecker+Invalid, 162 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 145 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 6 IncrementalHoareTripleChecker+Unchecked, 6.5s IncrementalHoareTripleChecker+Time [2022-04-28 14:28:52,181 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 148 Invalid, 162 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 145 Invalid, 0 Unknown, 6 Unchecked, 6.5s Time] [2022-04-28 14:28:52,181 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 14:28:52,242 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-04-28 14:28:52,242 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:28:52,242 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:28:52,242 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:28:52,242 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:28:52,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:28:52,243 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2022-04-28 14:28:52,243 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-28 14:28:52,243 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:28:52,244 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:28:52,244 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-28 14:28:52,244 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-28 14:28:52,245 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:28:52,245 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2022-04-28 14:28:52,245 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-28 14:28:52,245 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:28:52,245 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:28:52,245 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:28:52,245 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:28:52,245 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:28:52,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 52 transitions. [2022-04-28 14:28:52,247 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 52 transitions. Word has length 55 [2022-04-28 14:28:52,247 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:28:52,247 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 52 transitions. [2022-04-28 14:28:52,247 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:28:52,247 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 52 transitions. [2022-04-28 14:29:03,951 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 47 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 14:29:03,952 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-28 14:29:03,952 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 14:29:03,952 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:29:03,952 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:29:03,971 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 14:29:04,155 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 14:29:04,156 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:29:04,156 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:29:04,156 INFO L85 PathProgramCache]: Analyzing trace with hash 1954893684, now seen corresponding path program 5 times [2022-04-28 14:29:04,156 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:29:04,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1330353054] [2022-04-28 14:29:04,156 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:29:04,156 INFO L85 PathProgramCache]: Analyzing trace with hash 1954893684, now seen corresponding path program 6 times [2022-04-28 14:29:04,157 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:29:04,157 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1869802692] [2022-04-28 14:29:04,157 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:29:04,157 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:29:04,179 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:29:04,180 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [777255715] [2022-04-28 14:29:04,180 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 14:29:04,180 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:29:04,180 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:29:04,187 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 14:29:04,216 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 14:29:04,250 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 14:29:04,250 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:29:04,251 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 14:29:04,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:29:04,272 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:29:27,655 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful