/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_valuebound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 14:14:19,092 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 14:14:19,094 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 14:14:19,137 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 14:14:19,138 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 14:14:19,139 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 14:14:19,141 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 14:14:19,143 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 14:14:19,145 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 14:14:19,148 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 14:14:19,149 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 14:14:19,150 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 14:14:19,150 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 14:14:19,151 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 14:14:19,151 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 14:14:19,152 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 14:14:19,153 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 14:14:19,153 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 14:14:19,154 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 14:14:19,155 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 14:14:19,156 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 14:14:19,159 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 14:14:19,161 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 14:14:19,163 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 14:14:19,164 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 14:14:19,174 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 14:14:19,174 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 14:14:19,174 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 14:14:19,175 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 14:14:19,175 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 14:14:19,176 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 14:14:19,177 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 14:14:19,178 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 14:14:19,179 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 14:14:19,179 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 14:14:19,180 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 14:14:19,180 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 14:14:19,181 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 14:14:19,181 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 14:14:19,181 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 14:14:19,181 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 14:14:19,183 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 14:14:19,184 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:14:19,195 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 14:14:19,196 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 14:14:19,197 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 14:14:19,197 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 14:14:19,197 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 14:14:19,197 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 14:14:19,197 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 14:14:19,197 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 14:14:19,197 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 14:14:19,198 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 14:14:19,198 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 14:14:19,198 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 14:14:19,199 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 14:14:19,199 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 14:14:19,199 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 14:14:19,199 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 14:14:19,199 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 14:14:19,199 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 14:14:19,199 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 14:14:19,199 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 14:14:19,199 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 14:14:19,200 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 14:14:19,200 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:14:19,432 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 14:14:19,450 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 14:14:19,452 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 14:14:19,452 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 14:14:19,454 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 14:14:19,455 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound5.c [2022-04-28 14:14:19,507 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a00be012e/f1a9444863324763b1ba378b35339eb6/FLAGf2dcd85f3 [2022-04-28 14:14:19,885 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 14:14:19,885 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound5.c [2022-04-28 14:14:19,890 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a00be012e/f1a9444863324763b1ba378b35339eb6/FLAGf2dcd85f3 [2022-04-28 14:14:20,324 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a00be012e/f1a9444863324763b1ba378b35339eb6 [2022-04-28 14:14:20,327 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 14:14:20,329 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 14:14:20,331 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 14:14:20,331 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 14:14:20,334 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 14:14:20,335 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 02:14:20" (1/1) ... [2022-04-28 14:14:20,336 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@603aabbe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:14:20, skipping insertion in model container [2022-04-28 14:14:20,336 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 02:14:20" (1/1) ... [2022-04-28 14:14:20,341 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 14:14:20,351 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 14:14:20,516 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_valuebound5.c[537,550] [2022-04-28 14:14:20,540 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 14:14:20,546 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 14:14:20,564 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_valuebound5.c[537,550] [2022-04-28 14:14:20,582 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 14:14:20,593 INFO L208 MainTranslator]: Completed translation [2022-04-28 14:14:20,594 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:14:20 WrapperNode [2022-04-28 14:14:20,594 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 14:14:20,595 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 14:14:20,595 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 14:14:20,595 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 14:14:20,604 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:14:20" (1/1) ... [2022-04-28 14:14:20,605 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:14:20" (1/1) ... [2022-04-28 14:14:20,611 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:14:20" (1/1) ... [2022-04-28 14:14:20,611 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:14:20" (1/1) ... [2022-04-28 14:14:20,624 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:14:20" (1/1) ... [2022-04-28 14:14:20,629 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:14:20" (1/1) ... [2022-04-28 14:14:20,631 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:14:20" (1/1) ... [2022-04-28 14:14:20,635 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 14:14:20,637 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 14:14:20,637 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 14:14:20,637 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 14:14:20,637 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:14:20" (1/1) ... [2022-04-28 14:14:20,643 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 14:14:20,654 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:14:20,669 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:14:20,691 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:14:20,710 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 14:14:20,710 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 14:14:20,711 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 14:14:20,711 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 14:14:20,711 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 14:14:20,712 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 14:14:20,712 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 14:14:20,712 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 14:14:20,712 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 14:14:20,712 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 14:14:20,712 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 14:14:20,712 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 14:14:20,713 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 14:14:20,713 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 14:14:20,713 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 14:14:20,714 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 14:14:20,714 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 14:14:20,714 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 14:14:20,714 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 14:14:20,714 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 14:14:20,767 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 14:14:20,769 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 14:14:20,892 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 14:14:20,897 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 14:14:20,897 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 14:14:20,898 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 02:14:20 BoogieIcfgContainer [2022-04-28 14:14:20,899 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 14:14:20,900 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 14:14:20,900 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 14:14:20,903 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 14:14:20,903 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 02:14:20" (1/3) ... [2022-04-28 14:14:20,903 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@79cc12f1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 02:14:20, skipping insertion in model container [2022-04-28 14:14:20,903 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:14:20" (2/3) ... [2022-04-28 14:14:20,904 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@79cc12f1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 02:14:20, skipping insertion in model container [2022-04-28 14:14:20,904 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 02:14:20" (3/3) ... [2022-04-28 14:14:20,905 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound5.c [2022-04-28 14:14:20,916 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 14:14:20,916 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 14:14:20,947 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 14:14:20,952 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@62a27cc4, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@1aef2f5b [2022-04-28 14:14:20,952 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 14:14:20,959 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:14:20,965 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:14:20,965 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:14:20,965 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:14:20,966 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:14:20,970 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:14:20,970 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 1 times [2022-04-28 14:14:20,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:14:20,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [745557436] [2022-04-28 14:14:20,984 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:14:20,985 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 2 times [2022-04-28 14:14:20,987 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:14:20,987 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1178655994] [2022-04-28 14:14:20,988 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:14:20,988 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:14:21,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:14:21,150 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 14:14:21,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:14:21,179 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:14:21,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 14:14:21,180 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-28 14:14:21,181 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 14:14:21,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:14:21,193 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:14:21,193 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:14:21,194 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:14:21,194 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 14:14:21,194 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 14:14:21,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:14:21,202 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:14:21,203 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:14:21,203 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:14:21,203 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 14:14:21,204 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 14:14:21,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:14:21,220 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:14:21,221 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:14:21,221 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:14:21,221 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-28 14:14:21,223 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:14:21,223 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:14:21,223 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 14:14:21,228 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-28 14:14:21,228 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret6 := main(); {35#true} is VALID [2022-04-28 14:14:21,228 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:14:21,229 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {35#true} is VALID [2022-04-28 14:14:21,229 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:14:21,230 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:14:21,230 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:14:21,230 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 14:14:21,230 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:14:21,231 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {35#true} is VALID [2022-04-28 14:14:21,231 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:14:21,231 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:14:21,232 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:14:21,232 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 14:14:21,232 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:14:21,232 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 14:14:21,233 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 14:14:21,233 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 14:14:21,233 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-28 14:14:21,234 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:14:21,234 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} assume false; {36#false} is VALID [2022-04-28 14:14:21,234 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:14:21,234 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-28 14:14:21,235 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-28 14:14:21,235 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-28 14:14:21,235 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:14:21,236 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:14:21,236 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1178655994] [2022-04-28 14:14:21,237 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1178655994] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:14:21,237 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:14:21,237 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 14:14:21,239 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:14:21,240 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [745557436] [2022-04-28 14:14:21,240 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [745557436] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:14:21,240 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:14:21,240 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 14:14:21,240 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [796990696] [2022-04-28 14:14:21,241 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:14:21,245 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:14:21,247 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:14:21,249 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:14:21,275 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:14:21,276 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 14:14:21,276 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:14:21,292 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 14:14:21,293 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 14:14:21,295 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:14:21,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:14:21,410 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-28 14:14:21,410 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 14:14:21,411 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:14:21,411 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:14:21,412 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:14:21,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 14:14:21,421 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:14:21,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 14:14:21,430 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-28 14:14:21,531 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:14:21,543 INFO L225 Difference]: With dead ends: 57 [2022-04-28 14:14:21,543 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 14:14:21,549 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:14:21,552 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:14:21,553 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:14:21,564 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 14:14:21,576 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 14:14:21,576 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:14:21,577 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:14:21,578 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:14:21,578 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:14:21,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:14:21,582 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 14:14:21,582 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 14:14:21,583 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:14:21,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:14:21,583 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:14:21,584 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:14:21,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:14:21,587 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 14:14:21,587 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 14:14:21,588 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:14:21,588 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:14:21,588 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:14:21,588 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:14:21,588 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:14:21,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-28 14:14:21,592 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-28 14:14:21,592 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:14:21,592 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-28 14:14:21,593 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:14:21,593 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 31 transitions. [2022-04-28 14:14:21,626 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:14:21,627 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 14:14:21,627 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:14:21,627 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:14:21,628 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:14:21,628 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 14:14:21,628 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:14:21,629 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:14:21,629 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 1 times [2022-04-28 14:14:21,629 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:14:21,629 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [646202249] [2022-04-28 14:14:21,630 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:14:21,630 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 2 times [2022-04-28 14:14:21,630 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:14:21,631 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1969133500] [2022-04-28 14:14:21,631 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:14:21,631 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:14:21,653 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:14:21,653 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1082941496] [2022-04-28 14:14:21,653 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:14:21,654 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:14:21,654 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:14:21,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:14:21,690 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:14:21,724 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 14:14:21,725 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:14:21,734 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 14:14:21,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:14:21,748 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:14:21,924 INFO L272 TraceCheckUtils]: 0: Hoare triple {277#true} call ULTIMATE.init(); {277#true} is VALID [2022-04-28 14:14:21,925 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:14:21,926 INFO L290 TraceCheckUtils]: 2: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:14:21,926 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {277#true} {277#true} #71#return; {277#true} is VALID [2022-04-28 14:14:21,926 INFO L272 TraceCheckUtils]: 4: Hoare triple {277#true} call #t~ret6 := main(); {277#true} is VALID [2022-04-28 14:14:21,930 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:14:21,930 INFO L272 TraceCheckUtils]: 6: Hoare triple {277#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {277#true} is VALID [2022-04-28 14:14:21,930 INFO L290 TraceCheckUtils]: 7: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 14:14:21,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 14:14:21,931 INFO L290 TraceCheckUtils]: 9: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:14:21,931 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {277#true} {277#true} #61#return; {277#true} is VALID [2022-04-28 14:14:21,931 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:14:21,933 INFO L272 TraceCheckUtils]: 12: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {277#true} is VALID [2022-04-28 14:14:21,934 INFO L290 TraceCheckUtils]: 13: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 14:14:21,934 INFO L290 TraceCheckUtils]: 14: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 14:14:21,934 INFO L290 TraceCheckUtils]: 15: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:14:21,934 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {277#true} {277#true} #63#return; {277#true} is VALID [2022-04-28 14:14:21,935 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:14:21,935 INFO L290 TraceCheckUtils]: 18: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 14:14:21,935 INFO L290 TraceCheckUtils]: 19: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 14:14:21,935 INFO L290 TraceCheckUtils]: 20: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 14:14:21,935 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {277#true} {277#true} #65#return; {277#true} is VALID [2022-04-28 14:14:21,936 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:14:21,937 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:14:21,938 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:14:21,939 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:14:21,940 INFO L290 TraceCheckUtils]: 26: Hoare triple {359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {278#false} is VALID [2022-04-28 14:14:21,940 INFO L290 TraceCheckUtils]: 27: Hoare triple {278#false} assume !false; {278#false} is VALID [2022-04-28 14:14:21,940 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:14:21,940 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 14:14:21,940 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:14:21,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1969133500] [2022-04-28 14:14:21,941 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:14:21,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1082941496] [2022-04-28 14:14:21,943 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1082941496] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:14:21,943 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:14:21,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:14:21,944 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:14:21,944 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [646202249] [2022-04-28 14:14:21,945 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [646202249] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:14:21,945 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:14:21,945 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:14:21,945 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1416983941] [2022-04-28 14:14:21,945 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:14:21,948 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:14:21,948 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:14:21,948 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:14:21,967 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:14:21,968 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 14:14:21,968 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:14:21,974 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 14:14:21,975 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 14:14:21,975 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:14:22,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:14:22,166 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-28 14:14:22,166 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 14:14:22,166 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:14:22,167 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:14:22,167 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:14:22,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-28 14:14:22,170 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:14:22,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-28 14:14:22,172 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-28 14:14:22,215 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:14:22,217 INFO L225 Difference]: With dead ends: 39 [2022-04-28 14:14:22,217 INFO L226 Difference]: Without dead ends: 37 [2022-04-28 14:14:22,217 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:14:22,218 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:14:22,219 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:14:22,237 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-28 14:14:22,268 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-28 14:14:22,268 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:14:22,269 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:14:22,269 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:14:22,269 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:14:22,281 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:14:22,281 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 14:14:22,281 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 14:14:22,282 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:14:22,282 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:14:22,284 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:14:22,285 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:14:22,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:14:22,293 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 14:14:22,293 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 14:14:22,294 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:14:22,294 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:14:22,294 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:14:22,294 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:14:22,294 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:14:22,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-28 14:14:22,299 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-28 14:14:22,299 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:14:22,299 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-28 14:14:22,299 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:14:22,300 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-28 14:14:22,348 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:14:22,348 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-28 14:14:22,350 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 14:14:22,350 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:14:22,351 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:14:22,374 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:14:22,573 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:14:22,573 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:14:22,574 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:14:22,574 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 1 times [2022-04-28 14:14:22,574 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:14:22,574 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1944005032] [2022-04-28 14:14:22,575 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:14:22,575 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 2 times [2022-04-28 14:14:22,575 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:14:22,575 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1499144818] [2022-04-28 14:14:22,575 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:14:22,575 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:14:22,593 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:14:22,594 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [218743687] [2022-04-28 14:14:22,594 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:14:22,594 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:14:22,594 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:14:22,595 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:14:22,627 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:14:22,639 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:14:22,639 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:14:22,640 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 14:14:22,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:14:22,654 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:14:22,786 INFO L272 TraceCheckUtils]: 0: Hoare triple {585#true} call ULTIMATE.init(); {585#true} is VALID [2022-04-28 14:14:22,787 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:14:22,787 INFO L290 TraceCheckUtils]: 2: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:14:22,787 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {585#true} {585#true} #71#return; {585#true} is VALID [2022-04-28 14:14:22,787 INFO L272 TraceCheckUtils]: 4: Hoare triple {585#true} call #t~ret6 := main(); {585#true} is VALID [2022-04-28 14:14:22,787 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:14:22,788 INFO L272 TraceCheckUtils]: 6: Hoare triple {585#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {585#true} is VALID [2022-04-28 14:14:22,788 INFO L290 TraceCheckUtils]: 7: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 14:14:22,788 INFO L290 TraceCheckUtils]: 8: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 14:14:22,788 INFO L290 TraceCheckUtils]: 9: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:14:22,788 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {585#true} {585#true} #61#return; {585#true} is VALID [2022-04-28 14:14:22,789 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:14:22,789 INFO L272 TraceCheckUtils]: 12: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {585#true} is VALID [2022-04-28 14:14:22,789 INFO L290 TraceCheckUtils]: 13: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 14:14:22,789 INFO L290 TraceCheckUtils]: 14: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 14:14:22,789 INFO L290 TraceCheckUtils]: 15: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:14:22,789 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {585#true} {585#true} #63#return; {585#true} is VALID [2022-04-28 14:14:22,790 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:14:22,790 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:14:22,790 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:14:22,791 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:14:22,792 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:14:22,792 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:14:22,792 INFO L290 TraceCheckUtils]: 23: Hoare triple {659#(<= 1 main_~y~0)} assume !false; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 14:14:22,793 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:14:22,793 INFO L290 TraceCheckUtils]: 25: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 14:14:22,793 INFO L290 TraceCheckUtils]: 26: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 14:14:22,793 INFO L290 TraceCheckUtils]: 27: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 14:14:22,794 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:14:22,796 INFO L290 TraceCheckUtils]: 29: Hoare triple {659#(<= 1 main_~y~0)} assume !(0 != ~y~0); {586#false} is VALID [2022-04-28 14:14:22,796 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:14:22,797 INFO L290 TraceCheckUtils]: 31: Hoare triple {586#false} ~cond := #in~cond; {586#false} is VALID [2022-04-28 14:14:22,799 INFO L290 TraceCheckUtils]: 32: Hoare triple {586#false} assume 0 == ~cond; {586#false} is VALID [2022-04-28 14:14:22,799 INFO L290 TraceCheckUtils]: 33: Hoare triple {586#false} assume !false; {586#false} is VALID [2022-04-28 14:14:22,800 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:14:22,800 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 14:14:22,800 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:14:22,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1499144818] [2022-04-28 14:14:22,801 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:14:22,801 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [218743687] [2022-04-28 14:14:22,801 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [218743687] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:14:22,801 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:14:22,801 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 14:14:22,801 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:14:22,802 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1944005032] [2022-04-28 14:14:22,802 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1944005032] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:14:22,802 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:14:22,802 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 14:14:22,802 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2046631412] [2022-04-28 14:14:22,802 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:14:22,803 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:14:22,803 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:14:22,803 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:14:22,828 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:14:22,828 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 14:14:22,828 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:14:22,829 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 14:14:22,829 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 14:14:22,829 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:14:23,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:14:23,000 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-28 14:14:23,000 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 14:14:23,001 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:14:23,001 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:14:23,001 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:14:23,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 14:14:23,003 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:14:23,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 14:14:23,005 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-28 14:14:23,041 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:14:23,045 INFO L225 Difference]: With dead ends: 43 [2022-04-28 14:14:23,046 INFO L226 Difference]: Without dead ends: 36 [2022-04-28 14:14:23,047 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:14:23,056 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:14:23,056 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:14:23,057 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-28 14:14:23,075 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-28 14:14:23,075 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:14:23,075 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:14:23,076 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:14:23,076 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:14:23,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:14:23,078 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 14:14:23,078 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 14:14:23,078 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:14:23,079 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:14:23,079 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:14:23,079 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:14:23,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:14:23,081 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 14:14:23,081 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 14:14:23,082 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:14:23,082 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:14:23,082 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:14:23,082 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:14:23,082 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:14:23,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-28 14:14:23,084 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-28 14:14:23,084 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:14:23,084 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-28 14:14:23,084 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:14:23,084 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 38 transitions. [2022-04-28 14:14:23,121 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:14:23,121 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-28 14:14:23,122 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 14:14:23,122 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:14:23,122 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:14:23,147 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:14:23,343 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:14:23,344 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:14:23,344 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:14:23,344 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 1 times [2022-04-28 14:14:23,344 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:14:23,344 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1144633245] [2022-04-28 14:14:23,345 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:14:23,345 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 2 times [2022-04-28 14:14:23,345 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:14:23,345 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1259634372] [2022-04-28 14:14:23,345 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:14:23,345 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:14:23,364 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:14:23,364 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [296558234] [2022-04-28 14:14:23,365 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:14:23,365 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:14:23,365 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:14:23,366 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:14:23,371 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:14:23,413 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:14:23,414 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:14:23,415 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 14:14:23,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:14:23,428 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:14:25,881 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-28 14:14:25,882 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:14:25,882 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:14:25,882 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-28 14:14:25,882 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-28 14:14:25,882 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:14:25,882 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {922#true} is VALID [2022-04-28 14:14:25,882 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:14:25,882 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:14:25,882 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:14:25,883 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-28 14:14:25,883 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:14:25,883 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {922#true} is VALID [2022-04-28 14:14:25,883 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:14:25,883 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:14:25,883 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:14:25,883 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-28 14:14:25,884 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:14:25,884 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:14:25,884 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:14:25,884 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:14:25,884 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-28 14:14:25,885 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:14:25,886 INFO L290 TraceCheckUtils]: 23: Hoare triple {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:14:25,886 INFO L272 TraceCheckUtils]: 24: Hoare triple {993#(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)); {922#true} is VALID [2022-04-28 14:14:25,886 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:14:25,886 INFO L290 TraceCheckUtils]: 26: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:14:25,886 INFO L290 TraceCheckUtils]: 27: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:14:25,887 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {922#true} {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:14:25,891 INFO L290 TraceCheckUtils]: 29: Hoare triple {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1015#(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:14:25,892 INFO L290 TraceCheckUtils]: 30: Hoare triple {1015#(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; {1019#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:14:25,894 INFO L290 TraceCheckUtils]: 31: Hoare triple {1019#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~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); {1023#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:14:25,894 INFO L290 TraceCheckUtils]: 32: Hoare triple {1023#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {1023#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:14:27,896 WARN L272 TraceCheckUtils]: 33: Hoare triple {1023#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~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)); {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-28 14:14:27,897 INFO L290 TraceCheckUtils]: 34: Hoare triple {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1034#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:14:27,898 INFO L290 TraceCheckUtils]: 35: Hoare triple {1034#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-28 14:14:27,898 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-28 14:14:27,898 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:14:27,898 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:15:03,795 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-28 14:15:03,796 INFO L290 TraceCheckUtils]: 35: Hoare triple {1034#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-28 14:15:03,797 INFO L290 TraceCheckUtils]: 34: Hoare triple {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1034#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:15:03,797 INFO L272 TraceCheckUtils]: 33: Hoare triple {1050#(= (+ 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)); {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:15:03,798 INFO L290 TraceCheckUtils]: 32: Hoare triple {1050#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1050#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:15:03,803 INFO L290 TraceCheckUtils]: 31: Hoare triple {1057#(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); {1050#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:15:03,804 INFO L290 TraceCheckUtils]: 30: Hoare triple {1061#(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; {1057#(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:15:03,805 INFO L290 TraceCheckUtils]: 29: Hoare triple {1061#(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); {1061#(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:15:03,806 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {922#true} {1061#(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))} #67#return; {1061#(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:15:03,806 INFO L290 TraceCheckUtils]: 27: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:15:03,806 INFO L290 TraceCheckUtils]: 26: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:15:03,806 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:15:03,806 INFO L272 TraceCheckUtils]: 24: Hoare triple {1061#(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))} 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:03,807 INFO L290 TraceCheckUtils]: 23: Hoare triple {1061#(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 !false; {1061#(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:15:03,940 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1061#(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:15:03,940 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-28 14:15:03,940 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:15:03,940 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:15:03,941 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:15:03,941 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:03,941 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-28 14:15:03,941 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:15:03,941 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:15:03,941 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:15:03,941 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {922#true} is VALID [2022-04-28 14:15:03,941 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:03,941 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-28 14:15:03,942 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:15:03,942 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 14:15:03,942 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 14:15:03,942 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {922#true} is VALID [2022-04-28 14:15:03,942 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:03,942 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-28 14:15:03,942 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-28 14:15:03,943 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 14:15:03,943 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:03,943 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-28 14:15:03,943 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 0 refuted. 2 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:15:03,943 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:15:03,944 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1259634372] [2022-04-28 14:15:03,944 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:15:03,944 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [296558234] [2022-04-28 14:15:03,944 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [296558234] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:15:03,944 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:15:03,944 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-28 14:15:03,944 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:15:03,944 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1144633245] [2022-04-28 14:15:03,945 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1144633245] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:15:03,945 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:15:03,945 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 14:15:03,945 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1895460556] [2022-04-28 14:15:03,945 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:15:03,945 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 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:15:03,946 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:15:03,946 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:15:05,446 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:05,446 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 14:15:05,446 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:15:05,447 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 14:15:05,447 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=80, Unknown=3, NotChecked=0, Total=110 [2022-04-28 14:15:05,447 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:15:08,826 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.65s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:15:10,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:11,000 INFO L93 Difference]: Finished difference Result 49 states and 56 transitions. [2022-04-28 14:15:11,000 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 14:15:11,000 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 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:15:11,000 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:15:11,000 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:15:11,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 53 transitions. [2022-04-28 14:15:11,002 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:15:11,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 53 transitions. [2022-04-28 14:15:11,003 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 53 transitions. [2022-04-28 14:15:11,241 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:15:11,243 INFO L225 Difference]: With dead ends: 49 [2022-04-28 14:15:11,243 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 14:15:11,243 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 62 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 9.9s TimeCoverageRelationStatistics Valid=31, Invalid=98, Unknown=3, NotChecked=0, Total=132 [2022-04-28 14:15:11,244 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 10 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 128 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 129 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 128 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:15:11,244 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 138 Invalid, 129 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 128 Invalid, 0 Unknown, 0 Unchecked, 3.0s Time] [2022-04-28 14:15:11,245 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 14:15:11,282 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 42. [2022-04-28 14:15:11,283 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:15:11,283 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:15:11,283 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:15:11,284 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:15:11,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:11,286 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-28 14:15:11,286 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-28 14:15:11,286 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:11,287 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:15:11,287 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:15:11,287 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:15:11,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:11,289 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-28 14:15:11,289 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-28 14:15:11,290 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:11,290 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:15:11,290 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:15:11,290 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:15:11,290 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:15:11,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 47 transitions. [2022-04-28 14:15:11,292 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 47 transitions. Word has length 37 [2022-04-28 14:15:11,292 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:15:11,292 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 47 transitions. [2022-04-28 14:15:11,293 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:15:11,293 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 47 transitions. [2022-04-28 14:15:13,354 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 46 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:15:13,354 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2022-04-28 14:15:13,355 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 14:15:13,355 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:15:13,355 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:13,372 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:15:13,556 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:15:13,556 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:15:13,556 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:15:13,556 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 1 times [2022-04-28 14:15:13,557 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:15:13,557 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1159053156] [2022-04-28 14:15:13,557 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:15:13,557 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 2 times [2022-04-28 14:15:13,557 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:15:13,558 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [418407774] [2022-04-28 14:15:13,558 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:15:13,558 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:15:13,577 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:15:13,578 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1086073259] [2022-04-28 14:15:13,578 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:15:13,578 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:15:13,578 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:15:13,581 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:15:13,594 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:15:13,635 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:15:13,635 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:15:13,636 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 14:15:13,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:15:13,649 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:15:16,065 INFO L272 TraceCheckUtils]: 0: Hoare triple {1432#true} call ULTIMATE.init(); {1432#true} is VALID [2022-04-28 14:15:16,065 INFO L290 TraceCheckUtils]: 1: Hoare triple {1432#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); {1432#true} is VALID [2022-04-28 14:15:16,065 INFO L290 TraceCheckUtils]: 2: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-28 14:15:16,066 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1432#true} {1432#true} #71#return; {1432#true} is VALID [2022-04-28 14:15:16,066 INFO L272 TraceCheckUtils]: 4: Hoare triple {1432#true} call #t~ret6 := main(); {1432#true} is VALID [2022-04-28 14:15:16,066 INFO L290 TraceCheckUtils]: 5: Hoare triple {1432#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; {1432#true} is VALID [2022-04-28 14:15:16,066 INFO L272 TraceCheckUtils]: 6: Hoare triple {1432#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {1432#true} is VALID [2022-04-28 14:15:16,066 INFO L290 TraceCheckUtils]: 7: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-28 14:15:16,066 INFO L290 TraceCheckUtils]: 8: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-28 14:15:16,066 INFO L290 TraceCheckUtils]: 9: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-28 14:15:16,066 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1432#true} {1432#true} #61#return; {1432#true} is VALID [2022-04-28 14:15:16,067 INFO L290 TraceCheckUtils]: 11: Hoare triple {1432#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1432#true} is VALID [2022-04-28 14:15:16,067 INFO L272 TraceCheckUtils]: 12: Hoare triple {1432#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {1432#true} is VALID [2022-04-28 14:15:16,067 INFO L290 TraceCheckUtils]: 13: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-28 14:15:16,067 INFO L290 TraceCheckUtils]: 14: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-28 14:15:16,067 INFO L290 TraceCheckUtils]: 15: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-28 14:15:16,067 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1432#true} {1432#true} #63#return; {1432#true} is VALID [2022-04-28 14:15:16,067 INFO L272 TraceCheckUtils]: 17: Hoare triple {1432#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1432#true} is VALID [2022-04-28 14:15:16,068 INFO L290 TraceCheckUtils]: 18: Hoare triple {1432#true} ~cond := #in~cond; {1491#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:15:16,069 INFO L290 TraceCheckUtils]: 19: Hoare triple {1491#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1495#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:15:16,069 INFO L290 TraceCheckUtils]: 20: Hoare triple {1495#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1495#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:15:16,070 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1495#(not (= |assume_abort_if_not_#in~cond| 0))} {1432#true} #65#return; {1502#(<= 1 main_~b~0)} is VALID [2022-04-28 14:15:16,070 INFO L290 TraceCheckUtils]: 22: Hoare triple {1502#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1506#(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:15:16,071 INFO L290 TraceCheckUtils]: 23: Hoare triple {1506#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1506#(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:15:16,071 INFO L272 TraceCheckUtils]: 24: Hoare triple {1506#(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)); {1432#true} is VALID [2022-04-28 14:15:16,071 INFO L290 TraceCheckUtils]: 25: Hoare triple {1432#true} ~cond := #in~cond; {1516#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:15:16,072 INFO L290 TraceCheckUtils]: 26: Hoare triple {1516#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1520#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:15:16,072 INFO L290 TraceCheckUtils]: 27: Hoare triple {1520#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1520#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:15:16,073 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1520#(not (= |__VERIFIER_assert_#in~cond| 0))} {1506#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {1506#(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:15:16,074 INFO L290 TraceCheckUtils]: 29: Hoare triple {1506#(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); {1506#(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:15:16,074 INFO L290 TraceCheckUtils]: 30: Hoare triple {1506#(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)); {1533#(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:15:16,075 INFO L290 TraceCheckUtils]: 31: Hoare triple {1533#(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); {1537#(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:15:16,076 INFO L290 TraceCheckUtils]: 32: Hoare triple {1537#(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; {1537#(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:15:16,079 INFO L272 TraceCheckUtils]: 33: Hoare triple {1537#(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)); {1544#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:15:16,079 INFO L290 TraceCheckUtils]: 34: Hoare triple {1544#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1548#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:15:16,080 INFO L290 TraceCheckUtils]: 35: Hoare triple {1548#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1433#false} is VALID [2022-04-28 14:15:16,080 INFO L290 TraceCheckUtils]: 36: Hoare triple {1433#false} assume !false; {1433#false} is VALID [2022-04-28 14:15:16,080 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:15:16,080 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:15:53,843 INFO L290 TraceCheckUtils]: 36: Hoare triple {1433#false} assume !false; {1433#false} is VALID [2022-04-28 14:15:53,844 INFO L290 TraceCheckUtils]: 35: Hoare triple {1548#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1433#false} is VALID [2022-04-28 14:15:53,844 INFO L290 TraceCheckUtils]: 34: Hoare triple {1544#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1548#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:15:53,845 INFO L272 TraceCheckUtils]: 33: Hoare triple {1564#(= (+ 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)); {1544#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:15:53,846 INFO L290 TraceCheckUtils]: 32: Hoare triple {1564#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1564#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:15:53,851 INFO L290 TraceCheckUtils]: 31: Hoare triple {1571#(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); {1564#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:15:53,852 INFO L290 TraceCheckUtils]: 30: Hoare triple {1575#(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)); {1571#(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:15:53,853 INFO L290 TraceCheckUtils]: 29: Hoare triple {1575#(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); {1575#(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:15:53,856 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1520#(not (= |__VERIFIER_assert_#in~cond| 0))} {1582#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} #67#return; {1575#(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:15:53,857 INFO L290 TraceCheckUtils]: 27: Hoare triple {1520#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1520#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:15:53,857 INFO L290 TraceCheckUtils]: 26: Hoare triple {1592#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1520#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:15:53,858 INFO L290 TraceCheckUtils]: 25: Hoare triple {1432#true} ~cond := #in~cond; {1592#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:15:53,858 INFO L272 TraceCheckUtils]: 24: Hoare triple {1582#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1432#true} is VALID [2022-04-28 14:15:53,858 INFO L290 TraceCheckUtils]: 23: Hoare triple {1582#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} assume !false; {1582#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} is VALID [2022-04-28 14:15:53,859 INFO L290 TraceCheckUtils]: 22: Hoare triple {1602#(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; {1582#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} is VALID [2022-04-28 14:15:53,860 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1495#(not (= |assume_abort_if_not_#in~cond| 0))} {1432#true} #65#return; {1602#(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:15:53,860 INFO L290 TraceCheckUtils]: 20: Hoare triple {1495#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1495#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:15:53,861 INFO L290 TraceCheckUtils]: 19: Hoare triple {1615#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1495#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:15:53,861 INFO L290 TraceCheckUtils]: 18: Hoare triple {1432#true} ~cond := #in~cond; {1615#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 14:15:53,862 INFO L272 TraceCheckUtils]: 17: Hoare triple {1432#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1432#true} is VALID [2022-04-28 14:15:53,862 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1432#true} {1432#true} #63#return; {1432#true} is VALID [2022-04-28 14:15:53,862 INFO L290 TraceCheckUtils]: 15: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-28 14:15:53,862 INFO L290 TraceCheckUtils]: 14: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-28 14:15:53,862 INFO L290 TraceCheckUtils]: 13: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-28 14:15:53,862 INFO L272 TraceCheckUtils]: 12: Hoare triple {1432#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {1432#true} is VALID [2022-04-28 14:15:53,862 INFO L290 TraceCheckUtils]: 11: Hoare triple {1432#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1432#true} is VALID [2022-04-28 14:15:53,862 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1432#true} {1432#true} #61#return; {1432#true} is VALID [2022-04-28 14:15:53,863 INFO L290 TraceCheckUtils]: 9: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-28 14:15:53,863 INFO L290 TraceCheckUtils]: 8: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-28 14:15:53,863 INFO L290 TraceCheckUtils]: 7: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-28 14:15:53,863 INFO L272 TraceCheckUtils]: 6: Hoare triple {1432#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {1432#true} is VALID [2022-04-28 14:15:53,863 INFO L290 TraceCheckUtils]: 5: Hoare triple {1432#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; {1432#true} is VALID [2022-04-28 14:15:53,863 INFO L272 TraceCheckUtils]: 4: Hoare triple {1432#true} call #t~ret6 := main(); {1432#true} is VALID [2022-04-28 14:15:53,863 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1432#true} {1432#true} #71#return; {1432#true} is VALID [2022-04-28 14:15:53,863 INFO L290 TraceCheckUtils]: 2: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-28 14:15:53,863 INFO L290 TraceCheckUtils]: 1: Hoare triple {1432#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); {1432#true} is VALID [2022-04-28 14:15:53,864 INFO L272 TraceCheckUtils]: 0: Hoare triple {1432#true} call ULTIMATE.init(); {1432#true} is VALID [2022-04-28 14:15:53,864 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:15:53,864 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:15:53,864 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [418407774] [2022-04-28 14:15:53,864 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:15:53,864 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1086073259] [2022-04-28 14:15:53,864 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1086073259] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:15:53,865 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:15:53,865 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 19 [2022-04-28 14:15:53,865 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:15:53,865 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1159053156] [2022-04-28 14:15:53,865 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1159053156] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:15:53,865 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:15:53,865 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 14:15:53,865 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [75506909] [2022-04-28 14:15:53,865 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:15:53,866 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 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:15:53,866 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:15:53,866 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:15:53,897 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:15:53,897 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 14:15:53,897 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:15:53,897 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 14:15:53,898 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=280, Unknown=0, NotChecked=0, Total=342 [2022-04-28 14:15:53,898 INFO L87 Difference]: Start difference. First operand 42 states and 47 transitions. Second operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:15:54,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:54,551 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2022-04-28 14:15:54,551 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 14:15:54,551 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 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:15:54,551 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:15:54,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:15:54,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2022-04-28 14:15:54,554 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:15:54,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2022-04-28 14:15:54,556 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 56 transitions. [2022-04-28 14:15:54,611 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:15:54,612 INFO L225 Difference]: With dead ends: 59 [2022-04-28 14:15:54,612 INFO L226 Difference]: Without dead ends: 52 [2022-04-28 14:15:54,613 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 54 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=80, Invalid=382, Unknown=0, NotChecked=0, Total=462 [2022-04-28 14:15:54,614 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 26 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 202 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 131 SdHoareTripleChecker+Invalid, 208 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 202 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 14:15:54,614 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 131 Invalid, 208 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 202 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 14:15:54,614 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-28 14:15:54,649 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 50. [2022-04-28 14:15:54,649 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:15:54,649 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:15:54,650 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:15:54,650 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:15:54,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:54,652 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-28 14:15:54,652 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-28 14:15:54,652 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:54,652 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:15:54,653 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:15:54,653 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:15:54,655 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:15:54,655 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-28 14:15:54,655 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-28 14:15:54,655 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:15:54,655 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:15:54,655 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:15:54,656 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:15:54,656 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:15:54,657 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 14:15:54,658 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 37 [2022-04-28 14:15:54,658 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:15:54,658 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 14:15:54,658 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:15:54,658 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 14:15:55,331 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:15:55,331 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 14:15:55,334 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 14:15:55,334 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:15:55,334 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:15:55,350 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:15:55,534 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:15:55,534 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:15:55,535 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:15:55,535 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 1 times [2022-04-28 14:15:55,535 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:15:55,535 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [978165122] [2022-04-28 14:15:55,536 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:15:55,536 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 2 times [2022-04-28 14:15:55,536 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:15:55,536 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [657410258] [2022-04-28 14:15:55,536 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:15:55,536 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:15:55,565 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:15:55,565 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1819310868] [2022-04-28 14:15:55,565 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:15:55,565 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:15:55,566 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:15:55,571 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:15:55,572 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:15:55,619 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:15:55,619 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:15:55,620 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 14:15:55,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:15:55,632 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:16:00,909 INFO L272 TraceCheckUtils]: 0: Hoare triple {2000#true} call ULTIMATE.init(); {2000#true} is VALID [2022-04-28 14:16:00,909 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:16:00,909 INFO L290 TraceCheckUtils]: 2: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:16:00,909 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2000#true} {2000#true} #71#return; {2000#true} is VALID [2022-04-28 14:16:00,909 INFO L272 TraceCheckUtils]: 4: Hoare triple {2000#true} call #t~ret6 := main(); {2000#true} is VALID [2022-04-28 14:16:00,910 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:16:00,910 INFO L272 TraceCheckUtils]: 6: Hoare triple {2000#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:16:00,910 INFO L290 TraceCheckUtils]: 7: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:16:00,910 INFO L290 TraceCheckUtils]: 8: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:16:00,910 INFO L290 TraceCheckUtils]: 9: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:16:00,910 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2000#true} {2000#true} #61#return; {2000#true} is VALID [2022-04-28 14:16:00,910 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:16:00,911 INFO L272 TraceCheckUtils]: 12: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:16:00,911 INFO L290 TraceCheckUtils]: 13: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:16:00,911 INFO L290 TraceCheckUtils]: 14: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:16:00,911 INFO L290 TraceCheckUtils]: 15: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:16:00,911 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2000#true} {2000#true} #63#return; {2000#true} is VALID [2022-04-28 14:16:00,911 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:16:00,911 INFO L290 TraceCheckUtils]: 18: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:16:00,911 INFO L290 TraceCheckUtils]: 19: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:16:00,911 INFO L290 TraceCheckUtils]: 20: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:16:00,912 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2000#true} {2000#true} #65#return; {2000#true} is VALID [2022-04-28 14:16:00,912 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:16:00,912 INFO L290 TraceCheckUtils]: 23: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-28 14:16:00,912 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:16:00,912 INFO L290 TraceCheckUtils]: 25: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:16:00,912 INFO L290 TraceCheckUtils]: 26: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:16:00,912 INFO L290 TraceCheckUtils]: 27: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:16:00,912 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2000#true} {2000#true} #67#return; {2000#true} is VALID [2022-04-28 14:16:00,913 INFO L290 TraceCheckUtils]: 29: Hoare triple {2000#true} assume !!(0 != ~y~0); {2000#true} is VALID [2022-04-28 14:16:00,913 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:16:00,913 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:16:00,913 INFO L290 TraceCheckUtils]: 32: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-28 14:16:00,913 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:16:00,922 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:16:00,922 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:16:00,922 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:16:02,925 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:16:02,926 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:16:02,926 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:16:02,927 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:16:02,927 INFO L290 TraceCheckUtils]: 41: Hoare triple {2130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2001#false} is VALID [2022-04-28 14:16:02,927 INFO L290 TraceCheckUtils]: 42: Hoare triple {2001#false} assume !false; {2001#false} is VALID [2022-04-28 14:16:02,927 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:16:02,927 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:16:18,499 INFO L290 TraceCheckUtils]: 42: Hoare triple {2001#false} assume !false; {2001#false} is VALID [2022-04-28 14:16:18,499 INFO L290 TraceCheckUtils]: 41: Hoare triple {2130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2001#false} is VALID [2022-04-28 14:16:18,500 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:16:18,500 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:16:18,502 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:16:18,503 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:16:18,503 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:16:18,503 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:16:18,505 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:16:18,505 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:16:18,505 INFO L290 TraceCheckUtils]: 32: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-28 14:16:18,505 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:16:18,505 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:16:18,505 INFO L290 TraceCheckUtils]: 29: Hoare triple {2000#true} assume !!(0 != ~y~0); {2000#true} is VALID [2022-04-28 14:16:18,505 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2000#true} {2000#true} #67#return; {2000#true} is VALID [2022-04-28 14:16:18,506 INFO L290 TraceCheckUtils]: 27: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:16:18,506 INFO L290 TraceCheckUtils]: 26: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:16:18,506 INFO L290 TraceCheckUtils]: 25: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:16:18,506 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:16:18,506 INFO L290 TraceCheckUtils]: 23: Hoare triple {2000#true} assume !false; {2000#true} is VALID [2022-04-28 14:16:18,506 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:16:18,506 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2000#true} {2000#true} #65#return; {2000#true} is VALID [2022-04-28 14:16:18,506 INFO L290 TraceCheckUtils]: 20: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:16:18,506 INFO L290 TraceCheckUtils]: 19: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:16:18,507 INFO L290 TraceCheckUtils]: 18: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:16:18,507 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:16:18,507 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2000#true} {2000#true} #63#return; {2000#true} is VALID [2022-04-28 14:16:18,507 INFO L290 TraceCheckUtils]: 15: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:16:18,507 INFO L290 TraceCheckUtils]: 14: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:16:18,507 INFO L290 TraceCheckUtils]: 13: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:16:18,507 INFO L272 TraceCheckUtils]: 12: Hoare triple {2000#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:16:18,507 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:16:18,508 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2000#true} {2000#true} #61#return; {2000#true} is VALID [2022-04-28 14:16:18,508 INFO L290 TraceCheckUtils]: 9: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:16:18,508 INFO L290 TraceCheckUtils]: 8: Hoare triple {2000#true} assume !(0 == ~cond); {2000#true} is VALID [2022-04-28 14:16:18,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {2000#true} ~cond := #in~cond; {2000#true} is VALID [2022-04-28 14:16:18,508 INFO L272 TraceCheckUtils]: 6: Hoare triple {2000#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {2000#true} is VALID [2022-04-28 14:16:18,508 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:16:18,508 INFO L272 TraceCheckUtils]: 4: Hoare triple {2000#true} call #t~ret6 := main(); {2000#true} is VALID [2022-04-28 14:16:18,508 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2000#true} {2000#true} #71#return; {2000#true} is VALID [2022-04-28 14:16:18,509 INFO L290 TraceCheckUtils]: 2: Hoare triple {2000#true} assume true; {2000#true} is VALID [2022-04-28 14:16:18,509 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:16:18,509 INFO L272 TraceCheckUtils]: 0: Hoare triple {2000#true} call ULTIMATE.init(); {2000#true} is VALID [2022-04-28 14:16:18,509 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:16:18,509 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:16:18,509 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [657410258] [2022-04-28 14:16:18,509 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:16:18,509 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1819310868] [2022-04-28 14:16:18,510 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1819310868] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:16:18,510 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:16:18,510 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 14:16:18,510 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:16:18,510 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [978165122] [2022-04-28 14:16:18,510 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [978165122] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:16:18,510 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:16:18,510 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 14:16:18,510 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1359031621] [2022-04-28 14:16:18,510 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:16:18,511 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:16:18,511 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:16:18,512 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:16:20,554 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:16:20,555 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 14:16:20,555 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:16:20,555 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 14:16:20,555 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 14:16:20,555 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:16:22,605 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:16:23,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:16:23,075 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-04-28 14:16:23,075 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 14:16:23,075 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:16:23,075 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:16:23,075 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:16:23,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-28 14:16:23,076 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:16:23,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-28 14:16:23,077 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 37 transitions. [2022-04-28 14:16:25,108 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:16:25,109 INFO L225 Difference]: With dead ends: 57 [2022-04-28 14:16:25,109 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 14:16:25,110 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:16:25,110 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 12 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-28 14:16:25,111 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.1s Time] [2022-04-28 14:16:25,111 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 14:16:25,146 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 41. [2022-04-28 14:16:25,146 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:16:25,148 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:16:25,148 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:16:25,148 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:16:25,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:16:25,150 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-28 14:16:25,150 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 14:16:25,150 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:16:25,150 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:16:25,150 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:16:25,151 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:16:25,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:16:25,153 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-28 14:16:25,153 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 14:16:25,153 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:16:25,153 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:16:25,153 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:16:25,153 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:16:25,154 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:16:25,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2022-04-28 14:16:25,155 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 43 [2022-04-28 14:16:25,155 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:16:25,155 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2022-04-28 14:16:25,156 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:16:25,156 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 45 transitions. [2022-04-28 14:16:32,606 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:16:32,607 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-28 14:16:32,607 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 14:16:32,607 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:16:32,607 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:16:32,628 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 14:16:32,808 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:16:32,808 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:16:32,808 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:16:32,808 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 3 times [2022-04-28 14:16:32,808 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:16:32,808 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [587545024] [2022-04-28 14:16:32,809 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:16:32,809 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 4 times [2022-04-28 14:16:32,809 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:16:32,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1591895497] [2022-04-28 14:16:32,809 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:16:32,809 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:16:32,830 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:16:32,830 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [386141783] [2022-04-28 14:16:32,830 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:16:32,831 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:16:32,831 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:16:32,833 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:16:32,834 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:16:32,886 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:16:32,887 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:16:32,888 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-28 14:16:32,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:16:32,916 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:16:36,698 INFO L272 TraceCheckUtils]: 0: Hoare triple {2567#true} call ULTIMATE.init(); {2567#true} is VALID [2022-04-28 14:16:36,698 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:16:36,698 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:16:36,698 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#true} {2567#true} #71#return; {2567#true} is VALID [2022-04-28 14:16:36,698 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#true} call #t~ret6 := main(); {2567#true} is VALID [2022-04-28 14:16:36,698 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:16:36,699 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:16:36,699 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#true} ~cond := #in~cond; {2593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:16:36,699 INFO L290 TraceCheckUtils]: 8: Hoare triple {2593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:16:36,699 INFO L290 TraceCheckUtils]: 9: Hoare triple {2597#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:16:36,700 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2597#(not (= |assume_abort_if_not_#in~cond| 0))} {2567#true} #61#return; {2604#(and (<= 0 main_~a~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:16:36,700 INFO L290 TraceCheckUtils]: 11: Hoare triple {2604#(and (<= 0 main_~a~0) (<= main_~a~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2604#(and (<= 0 main_~a~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:16:36,700 INFO L272 TraceCheckUtils]: 12: Hoare triple {2604#(and (<= 0 main_~a~0) (<= main_~a~0 5))} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:16:36,701 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#true} ~cond := #in~cond; {2593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:16:36,701 INFO L290 TraceCheckUtils]: 14: Hoare triple {2593#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:16:36,702 INFO L290 TraceCheckUtils]: 15: Hoare triple {2597#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2597#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:16:36,702 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2597#(not (= |assume_abort_if_not_#in~cond| 0))} {2604#(and (<= 0 main_~a~0) (<= main_~a~0 5))} #63#return; {2623#(and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:16:36,702 INFO L272 TraceCheckUtils]: 17: Hoare triple {2623#(and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:16:36,703 INFO L290 TraceCheckUtils]: 18: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:16:36,703 INFO L290 TraceCheckUtils]: 19: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:16:36,703 INFO L290 TraceCheckUtils]: 20: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:16:36,703 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2567#true} {2623#(and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5))} #65#return; {2623#(and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:16:36,704 INFO L290 TraceCheckUtils]: 22: Hoare triple {2623#(and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2642#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:16:36,704 INFO L290 TraceCheckUtils]: 23: Hoare triple {2642#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} assume !false; {2642#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:16:36,705 INFO L272 TraceCheckUtils]: 24: Hoare triple {2642#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= 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:16:36,705 INFO L290 TraceCheckUtils]: 25: Hoare triple {2567#true} ~cond := #in~cond; {2652#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:16:36,705 INFO L290 TraceCheckUtils]: 26: Hoare triple {2652#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:16:36,706 INFO L290 TraceCheckUtils]: 27: Hoare triple {2656#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:16:36,707 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2656#(not (= |__VERIFIER_assert_#in~cond| 0))} {2642#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} #67#return; {2663#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:16:36,707 INFO L290 TraceCheckUtils]: 29: Hoare triple {2663#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2667#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:16:36,708 INFO L290 TraceCheckUtils]: 30: Hoare triple {2667#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= 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; {2671#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 5) (<= 0 main_~a~0) (= (+ main_~z~0 (* main_~b~0 main_~x~0)) (+ main_~x~0 (* main_~b~0 main_~a~0))) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:16:36,710 INFO L290 TraceCheckUtils]: 31: Hoare triple {2671#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 5) (<= 0 main_~a~0) (= (+ main_~z~0 (* main_~b~0 main_~x~0)) (+ main_~x~0 (* main_~b~0 main_~a~0))) (<= 0 main_~b~0) (<= main_~a~0 5) (= 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); {2675#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:16:36,710 INFO L290 TraceCheckUtils]: 32: Hoare triple {2675#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {2675#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:16:36,710 INFO L272 TraceCheckUtils]: 33: Hoare triple {2675#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= (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:16:36,711 INFO L290 TraceCheckUtils]: 34: Hoare triple {2567#true} ~cond := #in~cond; {2652#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:16:36,711 INFO L290 TraceCheckUtils]: 35: Hoare triple {2652#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:16:36,711 INFO L290 TraceCheckUtils]: 36: Hoare triple {2656#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:16:36,712 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2656#(not (= |__VERIFIER_assert_#in~cond| 0))} {2675#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {2675#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:16:36,713 INFO L290 TraceCheckUtils]: 38: Hoare triple {2675#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {2697#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:16:36,714 INFO L290 TraceCheckUtils]: 39: Hoare triple {2697#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= (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; {2701#(and (<= 1 (mod main_~b~0 2)) (<= main_~b~0 5) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:16:36,716 INFO L290 TraceCheckUtils]: 40: Hoare triple {2701#(and (<= 1 (mod main_~b~0 2)) (<= main_~b~0 5) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~a~0 5))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2705#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (<= main_~b~0 5) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 0 main_~a~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:16:36,717 INFO L290 TraceCheckUtils]: 41: Hoare triple {2705#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (<= main_~b~0 5) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 0 main_~a~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~a~0 5))} assume !false; {2705#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (<= main_~b~0 5) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 0 main_~a~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:16:36,722 INFO L272 TraceCheckUtils]: 42: Hoare triple {2705#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (<= main_~b~0 5) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 0 main_~a~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~a~0 5))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2712#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:16:36,722 INFO L290 TraceCheckUtils]: 43: Hoare triple {2712#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2716#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:16:36,722 INFO L290 TraceCheckUtils]: 44: Hoare triple {2716#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2568#false} is VALID [2022-04-28 14:16:36,722 INFO L290 TraceCheckUtils]: 45: Hoare triple {2568#false} assume !false; {2568#false} is VALID [2022-04-28 14:16:36,723 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 2 proven. 17 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 14:16:36,723 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:17:31,878 INFO L290 TraceCheckUtils]: 45: Hoare triple {2568#false} assume !false; {2568#false} is VALID [2022-04-28 14:17:31,878 INFO L290 TraceCheckUtils]: 44: Hoare triple {2716#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2568#false} is VALID [2022-04-28 14:17:31,879 INFO L290 TraceCheckUtils]: 43: Hoare triple {2712#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2716#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:17:31,879 INFO L272 TraceCheckUtils]: 42: Hoare triple {2732#(= (+ 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)); {2712#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:17:31,880 INFO L290 TraceCheckUtils]: 41: Hoare triple {2732#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2732#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:17:31,884 INFO L290 TraceCheckUtils]: 40: Hoare triple {2739#(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); {2732#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:17:31,886 INFO L290 TraceCheckUtils]: 39: Hoare triple {2743#(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; {2739#(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:31,887 INFO L290 TraceCheckUtils]: 38: Hoare triple {2743#(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); {2743#(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:17:32,075 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2656#(not (= |__VERIFIER_assert_#in~cond| 0))} {2567#true} #67#return; {2743#(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:17:32,076 INFO L290 TraceCheckUtils]: 36: Hoare triple {2656#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:17:32,076 INFO L290 TraceCheckUtils]: 35: Hoare triple {2759#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:17:32,076 INFO L290 TraceCheckUtils]: 34: Hoare triple {2567#true} ~cond := #in~cond; {2759#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:17:32,076 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:17:32,076 INFO L290 TraceCheckUtils]: 32: Hoare triple {2567#true} assume !false; {2567#true} is VALID [2022-04-28 14:17:32,077 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:17:32,077 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:17:32,077 INFO L290 TraceCheckUtils]: 29: Hoare triple {2567#true} assume !!(0 != ~y~0); {2567#true} is VALID [2022-04-28 14:17:32,077 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2567#true} {2567#true} #67#return; {2567#true} is VALID [2022-04-28 14:17:32,077 INFO L290 TraceCheckUtils]: 27: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:17:32,077 INFO L290 TraceCheckUtils]: 26: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:17:32,077 INFO L290 TraceCheckUtils]: 25: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:17:32,077 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:17:32,077 INFO L290 TraceCheckUtils]: 23: Hoare triple {2567#true} assume !false; {2567#true} is VALID [2022-04-28 14:17:32,077 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:17:32,078 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2567#true} {2567#true} #65#return; {2567#true} is VALID [2022-04-28 14:17:32,078 INFO L290 TraceCheckUtils]: 20: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:17:32,078 INFO L290 TraceCheckUtils]: 19: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:17:32,078 INFO L290 TraceCheckUtils]: 18: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:17:32,078 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:17:32,078 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2567#true} {2567#true} #63#return; {2567#true} is VALID [2022-04-28 14:17:32,078 INFO L290 TraceCheckUtils]: 15: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:17:32,078 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:17:32,078 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:17:32,079 INFO L272 TraceCheckUtils]: 12: Hoare triple {2567#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:17:32,079 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:17:32,079 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#true} {2567#true} #61#return; {2567#true} is VALID [2022-04-28 14:17:32,079 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:17:32,079 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#true} assume !(0 == ~cond); {2567#true} is VALID [2022-04-28 14:17:32,079 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#true} ~cond := #in~cond; {2567#true} is VALID [2022-04-28 14:17:32,079 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {2567#true} is VALID [2022-04-28 14:17:32,079 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:17:32,079 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#true} call #t~ret6 := main(); {2567#true} is VALID [2022-04-28 14:17:32,080 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#true} {2567#true} #71#return; {2567#true} is VALID [2022-04-28 14:17:32,080 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#true} assume true; {2567#true} is VALID [2022-04-28 14:17:32,080 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:17:32,080 INFO L272 TraceCheckUtils]: 0: Hoare triple {2567#true} call ULTIMATE.init(); {2567#true} is VALID [2022-04-28 14:17:32,080 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:17:32,080 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:17:32,080 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1591895497] [2022-04-28 14:17:32,080 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:17:32,081 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [386141783] [2022-04-28 14:17:32,081 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [386141783] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:17:32,081 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:17:32,081 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 9] total 22 [2022-04-28 14:17:32,081 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:17:32,081 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [587545024] [2022-04-28 14:17:32,081 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [587545024] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:17:32,081 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:17:32,081 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 14:17:32,081 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [284170655] [2022-04-28 14:17:32,082 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:17:32,082 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.4444444444444444) internal successors, (26), 15 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 46 [2022-04-28 14:17:32,082 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:17:32,082 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 1.4444444444444444) internal successors, (26), 15 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 14:17:32,127 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:17:32,127 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 14:17:32,127 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:17:32,127 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 14:17:32,127 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=84, Invalid=378, Unknown=0, NotChecked=0, Total=462 [2022-04-28 14:17:32,129 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand has 18 states, 18 states have (on average 1.4444444444444444) internal successors, (26), 15 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 14:17:33,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:17:33,260 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-28 14:17:33,260 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 14:17:33,261 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.4444444444444444) internal successors, (26), 15 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 46 [2022-04-28 14:17:33,261 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:17:33,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.4444444444444444) internal successors, (26), 15 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 14:17:33,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 65 transitions. [2022-04-28 14:17:33,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.4444444444444444) internal successors, (26), 15 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 14:17:33,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 65 transitions. [2022-04-28 14:17:33,265 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 65 transitions. [2022-04-28 14:17:33,334 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:17:33,335 INFO L225 Difference]: With dead ends: 70 [2022-04-28 14:17:33,335 INFO L226 Difference]: Without dead ends: 51 [2022-04-28 14:17:33,336 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 68 SyntacticMatches, 3 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 139 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=101, Invalid=499, Unknown=0, NotChecked=0, Total=600 [2022-04-28 14:17:33,336 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 35 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 333 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 356 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 333 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 14:17:33,336 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [38 Valid, 160 Invalid, 356 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 333 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 14:17:33,337 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-28 14:17:33,408 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-28 14:17:33,408 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:17:33,408 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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:17:33,408 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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:17:33,408 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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:17:33,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:17:33,410 INFO L93 Difference]: Finished difference Result 51 states and 55 transitions. [2022-04-28 14:17:33,410 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2022-04-28 14:17:33,410 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:17:33,410 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:17:33,410 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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 51 states. [2022-04-28 14:17:33,410 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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 51 states. [2022-04-28 14:17:33,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:17:33,412 INFO L93 Difference]: Finished difference Result 51 states and 55 transitions. [2022-04-28 14:17:33,412 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2022-04-28 14:17:33,412 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:17:33,412 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:17:33,412 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:17:33,412 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:17:33,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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:17:33,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 54 transitions. [2022-04-28 14:17:33,414 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 54 transitions. Word has length 46 [2022-04-28 14:17:33,414 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:17:33,414 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 54 transitions. [2022-04-28 14:17:33,415 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 1.4444444444444444) internal successors, (26), 15 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 14:17:33,415 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 54 transitions. [2022-04-28 14:17:35,510 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 53 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:17:35,510 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 14:17:35,512 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 14:17:35,512 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:17:35,512 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:17:35,537 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:17:35,723 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:17:35,723 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:17:35,724 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:17:35,724 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 1 times [2022-04-28 14:17:35,724 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:17:35,724 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2130158203] [2022-04-28 14:17:35,724 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:17:35,724 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 2 times [2022-04-28 14:17:35,725 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:17:35,725 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1253067408] [2022-04-28 14:17:35,725 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:17:35,725 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:17:35,742 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:17:35,742 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1544167096] [2022-04-28 14:17:35,742 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:17:35,742 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:17:35,742 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:17:35,760 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:17:35,760 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:17:35,800 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:17:35,800 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:17:35,801 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 14:17:35,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:17:35,826 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:17:52,820 INFO L272 TraceCheckUtils]: 0: Hoare triple {3212#true} call ULTIMATE.init(); {3212#true} is VALID [2022-04-28 14:17:52,820 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:17:52,820 INFO L290 TraceCheckUtils]: 2: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:17:52,820 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3212#true} {3212#true} #71#return; {3212#true} is VALID [2022-04-28 14:17:52,820 INFO L272 TraceCheckUtils]: 4: Hoare triple {3212#true} call #t~ret6 := main(); {3212#true} is VALID [2022-04-28 14:17:52,820 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:17:52,821 INFO L272 TraceCheckUtils]: 6: Hoare triple {3212#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {3212#true} is VALID [2022-04-28 14:17:52,821 INFO L290 TraceCheckUtils]: 7: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-28 14:17:52,821 INFO L290 TraceCheckUtils]: 8: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-28 14:17:52,821 INFO L290 TraceCheckUtils]: 9: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:17:52,821 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3212#true} {3212#true} #61#return; {3212#true} is VALID [2022-04-28 14:17:52,821 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:17:52,821 INFO L272 TraceCheckUtils]: 12: Hoare triple {3212#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {3212#true} is VALID [2022-04-28 14:17:52,821 INFO L290 TraceCheckUtils]: 13: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-28 14:17:52,821 INFO L290 TraceCheckUtils]: 14: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-28 14:17:52,821 INFO L290 TraceCheckUtils]: 15: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:17:52,821 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3212#true} {3212#true} #63#return; {3212#true} is VALID [2022-04-28 14:17:52,821 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:17:52,821 INFO L290 TraceCheckUtils]: 18: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-28 14:17:52,822 INFO L290 TraceCheckUtils]: 19: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-28 14:17:52,822 INFO L290 TraceCheckUtils]: 20: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:17:52,822 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3212#true} {3212#true} #65#return; {3212#true} is VALID [2022-04-28 14:17:52,822 INFO L290 TraceCheckUtils]: 22: Hoare triple {3212#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3283#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:17:52,822 INFO L290 TraceCheckUtils]: 23: Hoare triple {3283#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {3283#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:17:52,822 INFO L272 TraceCheckUtils]: 24: Hoare triple {3283#(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)); {3212#true} is VALID [2022-04-28 14:17:52,822 INFO L290 TraceCheckUtils]: 25: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-28 14:17:52,823 INFO L290 TraceCheckUtils]: 26: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-28 14:17:52,823 INFO L290 TraceCheckUtils]: 27: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:17:52,823 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3212#true} {3283#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {3283#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:17:52,824 INFO L290 TraceCheckUtils]: 29: Hoare triple {3283#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {3305#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:17:52,825 INFO L290 TraceCheckUtils]: 30: Hoare triple {3305#(and (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; {3309#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:17:52,826 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) (= 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); {3313#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:17:52,827 INFO L290 TraceCheckUtils]: 32: Hoare triple {3313#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {3313#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:17:52,827 INFO L272 TraceCheckUtils]: 33: Hoare triple {3313#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~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)); {3212#true} is VALID [2022-04-28 14:17:52,827 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:17:52,827 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:17:52,828 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:17:52,829 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3327#(not (= |__VERIFIER_assert_#in~cond| 0))} {3313#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 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)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:17:52,829 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)) (= (* main_~a~0 2) main_~x~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)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:17:52,830 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)) (= (* main_~a~0 2) main_~x~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)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 14:17:52,834 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)) (= (* main_~a~0 2) main_~x~0) (<= 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)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-28 14:17:52,834 INFO L290 TraceCheckUtils]: 41: Hoare triple {3345#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} assume !false; {3345#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-28 14:17:52,845 INFO L272 TraceCheckUtils]: 42: Hoare triple {3345#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} 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:17:52,845 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:17:52,845 INFO L290 TraceCheckUtils]: 44: Hoare triple {3356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3213#false} is VALID [2022-04-28 14:17:52,845 INFO L290 TraceCheckUtils]: 45: Hoare triple {3213#false} assume !false; {3213#false} is VALID [2022-04-28 14:17:52,846 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:17:52,846 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:19:29,544 INFO L290 TraceCheckUtils]: 45: Hoare triple {3213#false} assume !false; {3213#false} is VALID [2022-04-28 14:19:29,544 INFO L290 TraceCheckUtils]: 44: Hoare triple {3356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3213#false} is VALID [2022-04-28 14:19:29,545 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:19:29,546 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:19:29,546 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:19:29,554 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:19:29,555 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:19:29,555 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:19:29,558 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3327#(not (= |__VERIFIER_assert_#in~cond| 0))} {3390#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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:19:29,559 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:19:29,559 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:19:29,560 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:19:29,560 INFO L272 TraceCheckUtils]: 33: Hoare triple {3390#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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:19:29,560 INFO L290 TraceCheckUtils]: 32: Hoare triple {3390#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} assume !false; {3390#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 14:19:29,702 INFO L290 TraceCheckUtils]: 31: Hoare triple {3410#(and (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (forall ((aux_div_v_main_~y~0_40_22 Int) (aux_div_aux_mod_v_main_~y~0_40_22_69 Int)) (or (= (+ (* 2 (* (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_40_22) 1) main_~x~0)) (* (* aux_div_v_main_~y~0_40_22 main_~x~0) 4)) (+ (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_40_22_69) 4) (* main_~x~0 4))) (<= (+ (* 2 aux_div_aux_mod_v_main_~y~0_40_22_69) 1) (div main_~y~0 2)) (< (+ (div main_~y~0 2) 1) (* 2 aux_div_aux_mod_v_main_~y~0_40_22_69)) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_40_22 2)) (<= (+ (* aux_div_v_main_~y~0_40_22 2) 1) (div main_~y~0 2)) (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_40_22) 1) 0)))) (or (forall ((aux_div_v_main_~y~0_40_22 Int) (aux_div_aux_mod_v_main_~y~0_40_22_69 Int)) (or (= (+ (* (* (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_40_22)) main_~x~0) 2) (* (* aux_div_v_main_~y~0_40_22 main_~x~0) 4)) (+ (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_40_22_69) 4) (* main_~x~0 4))) (< (div main_~y~0 2) (* 2 aux_div_aux_mod_v_main_~y~0_40_22_69)) (<= (+ 2 (* aux_div_v_main_~y~0_40_22 2)) (div main_~y~0 2)) (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_40_22)) 0) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_40_22 2)) (<= (+ 2 (* 2 aux_div_aux_mod_v_main_~y~0_40_22_69)) (div main_~y~0 2)))) (not (= (mod main_~y~0 2) 0)) (<= 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); {3390#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 14:19:29,704 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 (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (forall ((aux_div_v_main_~y~0_40_22 Int) (aux_div_aux_mod_v_main_~y~0_40_22_69 Int)) (or (= (+ (* 2 (* (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_40_22) 1) main_~x~0)) (* (* aux_div_v_main_~y~0_40_22 main_~x~0) 4)) (+ (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_40_22_69) 4) (* main_~x~0 4))) (<= (+ (* 2 aux_div_aux_mod_v_main_~y~0_40_22_69) 1) (div main_~y~0 2)) (< (+ (div main_~y~0 2) 1) (* 2 aux_div_aux_mod_v_main_~y~0_40_22_69)) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_40_22 2)) (<= (+ (* aux_div_v_main_~y~0_40_22 2) 1) (div main_~y~0 2)) (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_40_22) 1) 0)))) (or (forall ((aux_div_v_main_~y~0_40_22 Int) (aux_div_aux_mod_v_main_~y~0_40_22_69 Int)) (or (= (+ (* (* (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_40_22)) main_~x~0) 2) (* (* aux_div_v_main_~y~0_40_22 main_~x~0) 4)) (+ (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_40_22_69) 4) (* main_~x~0 4))) (< (div main_~y~0 2) (* 2 aux_div_aux_mod_v_main_~y~0_40_22_69)) (<= (+ 2 (* aux_div_v_main_~y~0_40_22 2)) (div main_~y~0 2)) (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_40_22)) 0) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_40_22 2)) (<= (+ 2 (* 2 aux_div_aux_mod_v_main_~y~0_40_22_69)) (div main_~y~0 2)))) (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2))))} is VALID [2022-04-28 14:19:29,704 INFO L290 TraceCheckUtils]: 29: Hoare triple {3212#true} assume !!(0 != ~y~0); {3212#true} is VALID [2022-04-28 14:19:29,704 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3212#true} {3212#true} #67#return; {3212#true} is VALID [2022-04-28 14:19:29,704 INFO L290 TraceCheckUtils]: 27: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:19:29,704 INFO L290 TraceCheckUtils]: 26: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-28 14:19:29,704 INFO L290 TraceCheckUtils]: 25: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-28 14:19:29,704 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:19:29,704 INFO L290 TraceCheckUtils]: 23: Hoare triple {3212#true} assume !false; {3212#true} is VALID [2022-04-28 14:19:29,704 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:19:29,704 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3212#true} {3212#true} #65#return; {3212#true} is VALID [2022-04-28 14:19:29,704 INFO L290 TraceCheckUtils]: 20: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:19:29,705 INFO L290 TraceCheckUtils]: 19: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-28 14:19:29,705 INFO L290 TraceCheckUtils]: 18: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-28 14:19:29,705 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:19:29,705 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3212#true} {3212#true} #63#return; {3212#true} is VALID [2022-04-28 14:19:29,705 INFO L290 TraceCheckUtils]: 15: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:19:29,705 INFO L290 TraceCheckUtils]: 14: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-28 14:19:29,705 INFO L290 TraceCheckUtils]: 13: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-28 14:19:29,705 INFO L272 TraceCheckUtils]: 12: Hoare triple {3212#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {3212#true} is VALID [2022-04-28 14:19:29,706 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:19:29,706 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3212#true} {3212#true} #61#return; {3212#true} is VALID [2022-04-28 14:19:29,706 INFO L290 TraceCheckUtils]: 9: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:19:29,706 INFO L290 TraceCheckUtils]: 8: Hoare triple {3212#true} assume !(0 == ~cond); {3212#true} is VALID [2022-04-28 14:19:29,706 INFO L290 TraceCheckUtils]: 7: Hoare triple {3212#true} ~cond := #in~cond; {3212#true} is VALID [2022-04-28 14:19:29,706 INFO L272 TraceCheckUtils]: 6: Hoare triple {3212#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {3212#true} is VALID [2022-04-28 14:19:29,706 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:19:29,706 INFO L272 TraceCheckUtils]: 4: Hoare triple {3212#true} call #t~ret6 := main(); {3212#true} is VALID [2022-04-28 14:19:29,706 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3212#true} {3212#true} #71#return; {3212#true} is VALID [2022-04-28 14:19:29,707 INFO L290 TraceCheckUtils]: 2: Hoare triple {3212#true} assume true; {3212#true} is VALID [2022-04-28 14:19:29,707 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:19:29,707 INFO L272 TraceCheckUtils]: 0: Hoare triple {3212#true} call ULTIMATE.init(); {3212#true} is VALID [2022-04-28 14:19:29,707 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:19:29,707 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:19:29,707 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1253067408] [2022-04-28 14:19:29,707 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:19:29,708 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1544167096] [2022-04-28 14:19:29,708 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1544167096] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:19:29,708 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:19:29,708 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-28 14:19:29,708 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:19:29,708 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2130158203] [2022-04-28 14:19:29,708 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2130158203] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:19:29,708 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:19:29,708 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 14:19:29,708 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1958720493] [2022-04-28 14:19:29,709 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:19:29,709 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:19:29,709 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:19:29,709 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:19:29,756 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:19:29,756 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 14:19:29,756 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:19:29,757 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 14:19:29,757 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=281, Unknown=0, NotChecked=0, Total=342 [2022-04-28 14:19:29,757 INFO L87 Difference]: Start difference. First operand 50 states and 54 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:19:30,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:19:30,994 INFO L93 Difference]: Finished difference Result 62 states and 67 transitions. [2022-04-28 14:19:30,995 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 14:19:30,995 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:19:30,995 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:19:30,995 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:19:30,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 55 transitions. [2022-04-28 14:19:30,997 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:19:30,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 55 transitions. [2022-04-28 14:19:30,998 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 55 transitions. [2022-04-28 14:19:31,053 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:19:31,054 INFO L225 Difference]: With dead ends: 62 [2022-04-28 14:19:31,054 INFO L226 Difference]: Without dead ends: 60 [2022-04-28 14:19:31,055 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=74, Invalid=346, Unknown=0, NotChecked=0, Total=420 [2022-04-28 14:19:31,055 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 17 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 216 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 179 SdHoareTripleChecker+Invalid, 217 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 216 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 14:19:31,056 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 179 Invalid, 217 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 216 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 14:19:31,058 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-28 14:19:31,131 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 50. [2022-04-28 14:19:31,131 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:19:31,131 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 50 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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:19:31,132 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 50 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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:19:31,132 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 50 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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:19:31,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:19:31,134 INFO L93 Difference]: Finished difference Result 60 states and 65 transitions. [2022-04-28 14:19:31,134 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 65 transitions. [2022-04-28 14:19:31,134 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:19:31,134 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:19:31,134 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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 60 states. [2022-04-28 14:19:31,134 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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 60 states. [2022-04-28 14:19:31,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:19:31,136 INFO L93 Difference]: Finished difference Result 60 states and 65 transitions. [2022-04-28 14:19:31,136 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 65 transitions. [2022-04-28 14:19:31,136 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:19:31,136 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:19:31,137 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:19:31,137 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:19:31,137 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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:19:31,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 54 transitions. [2022-04-28 14:19:31,138 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 54 transitions. Word has length 46 [2022-04-28 14:19:31,138 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:19:31,138 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 54 transitions. [2022-04-28 14:19:31,139 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:19:31,139 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 54 transitions. [2022-04-28 14:19:33,277 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 53 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:19:33,277 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 14:19:33,278 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 14:19:33,278 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:19:33,278 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:19:33,294 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 14:19:33,478 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:19:33,478 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:19:33,479 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:19:33,479 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 3 times [2022-04-28 14:19:33,479 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:19:33,479 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1211959624] [2022-04-28 14:19:33,479 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:19:33,479 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 4 times [2022-04-28 14:19:33,479 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:19:33,480 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1628939999] [2022-04-28 14:19:33,480 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:19:33,480 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:19:33,502 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:19:33,503 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [383554289] [2022-04-28 14:19:33,503 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:19:33,503 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:19:33,503 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:19:33,504 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:19:33,506 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:19:33,539 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:19:33,540 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:19:33,540 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 14:19:33,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:19:33,557 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:19:35,614 INFO L272 TraceCheckUtils]: 0: Hoare triple {3854#true} call ULTIMATE.init(); {3854#true} is VALID [2022-04-28 14:19:35,614 INFO L290 TraceCheckUtils]: 1: Hoare triple {3854#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); {3854#true} is VALID [2022-04-28 14:19:35,614 INFO L290 TraceCheckUtils]: 2: Hoare triple {3854#true} assume true; {3854#true} is VALID [2022-04-28 14:19:35,614 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3854#true} {3854#true} #71#return; {3854#true} is VALID [2022-04-28 14:19:35,615 INFO L272 TraceCheckUtils]: 4: Hoare triple {3854#true} call #t~ret6 := main(); {3854#true} is VALID [2022-04-28 14:19:35,615 INFO L290 TraceCheckUtils]: 5: Hoare triple {3854#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; {3854#true} is VALID [2022-04-28 14:19:35,615 INFO L272 TraceCheckUtils]: 6: Hoare triple {3854#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {3854#true} is VALID [2022-04-28 14:19:35,615 INFO L290 TraceCheckUtils]: 7: Hoare triple {3854#true} ~cond := #in~cond; {3854#true} is VALID [2022-04-28 14:19:35,615 INFO L290 TraceCheckUtils]: 8: Hoare triple {3854#true} assume !(0 == ~cond); {3854#true} is VALID [2022-04-28 14:19:35,615 INFO L290 TraceCheckUtils]: 9: Hoare triple {3854#true} assume true; {3854#true} is VALID [2022-04-28 14:19:35,615 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3854#true} {3854#true} #61#return; {3854#true} is VALID [2022-04-28 14:19:35,615 INFO L290 TraceCheckUtils]: 11: Hoare triple {3854#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3854#true} is VALID [2022-04-28 14:19:35,615 INFO L272 TraceCheckUtils]: 12: Hoare triple {3854#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {3854#true} is VALID [2022-04-28 14:19:35,615 INFO L290 TraceCheckUtils]: 13: Hoare triple {3854#true} ~cond := #in~cond; {3898#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:19:35,616 INFO L290 TraceCheckUtils]: 14: Hoare triple {3898#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3902#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:19:35,616 INFO L290 TraceCheckUtils]: 15: Hoare triple {3902#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3902#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:19:35,616 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3902#(not (= |assume_abort_if_not_#in~cond| 0))} {3854#true} #63#return; {3909#(and (<= main_~b~0 5) (<= 0 main_~b~0))} is VALID [2022-04-28 14:19:35,616 INFO L272 TraceCheckUtils]: 17: Hoare triple {3909#(and (<= main_~b~0 5) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3854#true} is VALID [2022-04-28 14:19:35,617 INFO L290 TraceCheckUtils]: 18: Hoare triple {3854#true} ~cond := #in~cond; {3854#true} is VALID [2022-04-28 14:19:35,617 INFO L290 TraceCheckUtils]: 19: Hoare triple {3854#true} assume !(0 == ~cond); {3854#true} is VALID [2022-04-28 14:19:35,617 INFO L290 TraceCheckUtils]: 20: Hoare triple {3854#true} assume true; {3854#true} is VALID [2022-04-28 14:19:35,617 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3854#true} {3909#(and (<= main_~b~0 5) (<= 0 main_~b~0))} #65#return; {3909#(and (<= main_~b~0 5) (<= 0 main_~b~0))} is VALID [2022-04-28 14:19:35,617 INFO L290 TraceCheckUtils]: 22: Hoare triple {3909#(and (<= main_~b~0 5) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3928#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:19:35,618 INFO L290 TraceCheckUtils]: 23: Hoare triple {3928#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {3928#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:19:35,618 INFO L272 TraceCheckUtils]: 24: Hoare triple {3928#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 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)); {3854#true} is VALID [2022-04-28 14:19:35,618 INFO L290 TraceCheckUtils]: 25: Hoare triple {3854#true} ~cond := #in~cond; {3938#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:19:35,618 INFO L290 TraceCheckUtils]: 26: Hoare triple {3938#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3942#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:19:35,619 INFO L290 TraceCheckUtils]: 27: Hoare triple {3942#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3942#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:19:35,619 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3942#(not (= |__VERIFIER_assert_#in~cond| 0))} {3928#(and (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {3949#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:19:35,620 INFO L290 TraceCheckUtils]: 29: Hoare triple {3949#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {3949#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:19:35,620 INFO L290 TraceCheckUtils]: 30: Hoare triple {3949#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 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)); {3956#(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 5) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:19:35,621 INFO L290 TraceCheckUtils]: 31: Hoare triple {3956#(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 5) (= main_~b~0 main_~y~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); {3960#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:19:35,621 INFO L290 TraceCheckUtils]: 32: Hoare triple {3960#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !false; {3960#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:19:35,621 INFO L272 TraceCheckUtils]: 33: Hoare triple {3960#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 0 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)); {3854#true} is VALID [2022-04-28 14:19:35,621 INFO L290 TraceCheckUtils]: 34: Hoare triple {3854#true} ~cond := #in~cond; {3938#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:19:35,622 INFO L290 TraceCheckUtils]: 35: Hoare triple {3938#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3942#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:19:35,622 INFO L290 TraceCheckUtils]: 36: Hoare triple {3942#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3942#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:19:35,622 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3942#(not (= |__VERIFIER_assert_#in~cond| 0))} {3960#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} #67#return; {3960#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:19:35,623 INFO L290 TraceCheckUtils]: 38: Hoare triple {3960#(and (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !!(0 != ~y~0); {3982#(and (not (= main_~y~0 0)) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:19:35,624 INFO L290 TraceCheckUtils]: 39: Hoare triple {3982#(and (not (= main_~y~0 0)) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 0 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);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3986#(and (= main_~z~0 main_~x~0) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 14:19:35,625 INFO L290 TraceCheckUtils]: 40: Hoare triple {3986#(and (= main_~z~0 main_~x~0) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 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); {3990#(and (<= main_~b~0 5) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 14:19:35,626 INFO L290 TraceCheckUtils]: 41: Hoare triple {3990#(and (<= main_~b~0 5) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !false; {3990#(and (<= main_~b~0 5) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 14:19:35,632 INFO L272 TraceCheckUtils]: 42: Hoare triple {3990#(and (<= main_~b~0 5) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 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)); {3997#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:19:35,632 INFO L290 TraceCheckUtils]: 43: Hoare triple {3997#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4001#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:19:35,632 INFO L290 TraceCheckUtils]: 44: Hoare triple {4001#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3855#false} is VALID [2022-04-28 14:19:35,632 INFO L290 TraceCheckUtils]: 45: Hoare triple {3855#false} assume !false; {3855#false} is VALID [2022-04-28 14:19:35,633 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 5 proven. 14 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 14:19:35,633 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:20:28,017 INFO L290 TraceCheckUtils]: 45: Hoare triple {3855#false} assume !false; {3855#false} is VALID [2022-04-28 14:20:28,018 INFO L290 TraceCheckUtils]: 44: Hoare triple {4001#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3855#false} is VALID [2022-04-28 14:20:28,019 INFO L290 TraceCheckUtils]: 43: Hoare triple {3997#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4001#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:20:28,019 INFO L272 TraceCheckUtils]: 42: Hoare triple {4017#(= (+ 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)); {3997#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:20:28,020 INFO L290 TraceCheckUtils]: 41: Hoare triple {4017#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4017#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:20:28,038 INFO L290 TraceCheckUtils]: 40: Hoare triple {4024#(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); {4017#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:20:28,042 INFO L290 TraceCheckUtils]: 39: Hoare triple {4028#(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; {4024#(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:28,042 INFO L290 TraceCheckUtils]: 38: Hoare triple {4028#(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); {4028#(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:28,370 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3942#(not (= |__VERIFIER_assert_#in~cond| 0))} {3854#true} #67#return; {4028#(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:28,370 INFO L290 TraceCheckUtils]: 36: Hoare triple {3942#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3942#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:20:28,370 INFO L290 TraceCheckUtils]: 35: Hoare triple {4044#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3942#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:20:28,371 INFO L290 TraceCheckUtils]: 34: Hoare triple {3854#true} ~cond := #in~cond; {4044#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:20:28,371 INFO L272 TraceCheckUtils]: 33: Hoare triple {3854#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3854#true} is VALID [2022-04-28 14:20:28,371 INFO L290 TraceCheckUtils]: 32: Hoare triple {3854#true} assume !false; {3854#true} is VALID [2022-04-28 14:20:28,371 INFO L290 TraceCheckUtils]: 31: Hoare triple {3854#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); {3854#true} is VALID [2022-04-28 14:20:28,371 INFO L290 TraceCheckUtils]: 30: Hoare triple {3854#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3854#true} is VALID [2022-04-28 14:20:28,371 INFO L290 TraceCheckUtils]: 29: Hoare triple {3854#true} assume !!(0 != ~y~0); {3854#true} is VALID [2022-04-28 14:20:28,371 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3854#true} {3854#true} #67#return; {3854#true} is VALID [2022-04-28 14:20:28,371 INFO L290 TraceCheckUtils]: 27: Hoare triple {3854#true} assume true; {3854#true} is VALID [2022-04-28 14:20:28,371 INFO L290 TraceCheckUtils]: 26: Hoare triple {3854#true} assume !(0 == ~cond); {3854#true} is VALID [2022-04-28 14:20:28,371 INFO L290 TraceCheckUtils]: 25: Hoare triple {3854#true} ~cond := #in~cond; {3854#true} is VALID [2022-04-28 14:20:28,371 INFO L272 TraceCheckUtils]: 24: Hoare triple {3854#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3854#true} is VALID [2022-04-28 14:20:28,371 INFO L290 TraceCheckUtils]: 23: Hoare triple {3854#true} assume !false; {3854#true} is VALID [2022-04-28 14:20:28,371 INFO L290 TraceCheckUtils]: 22: Hoare triple {3854#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3854#true} is VALID [2022-04-28 14:20:28,371 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3854#true} {3854#true} #65#return; {3854#true} is VALID [2022-04-28 14:20:28,372 INFO L290 TraceCheckUtils]: 20: Hoare triple {3854#true} assume true; {3854#true} is VALID [2022-04-28 14:20:28,372 INFO L290 TraceCheckUtils]: 19: Hoare triple {3854#true} assume !(0 == ~cond); {3854#true} is VALID [2022-04-28 14:20:28,372 INFO L290 TraceCheckUtils]: 18: Hoare triple {3854#true} ~cond := #in~cond; {3854#true} is VALID [2022-04-28 14:20:28,372 INFO L272 TraceCheckUtils]: 17: Hoare triple {3854#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3854#true} is VALID [2022-04-28 14:20:28,372 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3854#true} {3854#true} #63#return; {3854#true} is VALID [2022-04-28 14:20:28,372 INFO L290 TraceCheckUtils]: 15: Hoare triple {3854#true} assume true; {3854#true} is VALID [2022-04-28 14:20:28,372 INFO L290 TraceCheckUtils]: 14: Hoare triple {3854#true} assume !(0 == ~cond); {3854#true} is VALID [2022-04-28 14:20:28,372 INFO L290 TraceCheckUtils]: 13: Hoare triple {3854#true} ~cond := #in~cond; {3854#true} is VALID [2022-04-28 14:20:28,372 INFO L272 TraceCheckUtils]: 12: Hoare triple {3854#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {3854#true} is VALID [2022-04-28 14:20:28,372 INFO L290 TraceCheckUtils]: 11: Hoare triple {3854#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3854#true} is VALID [2022-04-28 14:20:28,372 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3854#true} {3854#true} #61#return; {3854#true} is VALID [2022-04-28 14:20:28,372 INFO L290 TraceCheckUtils]: 9: Hoare triple {3854#true} assume true; {3854#true} is VALID [2022-04-28 14:20:28,372 INFO L290 TraceCheckUtils]: 8: Hoare triple {3854#true} assume !(0 == ~cond); {3854#true} is VALID [2022-04-28 14:20:28,373 INFO L290 TraceCheckUtils]: 7: Hoare triple {3854#true} ~cond := #in~cond; {3854#true} is VALID [2022-04-28 14:20:28,373 INFO L272 TraceCheckUtils]: 6: Hoare triple {3854#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {3854#true} is VALID [2022-04-28 14:20:28,373 INFO L290 TraceCheckUtils]: 5: Hoare triple {3854#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; {3854#true} is VALID [2022-04-28 14:20:28,373 INFO L272 TraceCheckUtils]: 4: Hoare triple {3854#true} call #t~ret6 := main(); {3854#true} is VALID [2022-04-28 14:20:28,373 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3854#true} {3854#true} #71#return; {3854#true} is VALID [2022-04-28 14:20:28,373 INFO L290 TraceCheckUtils]: 2: Hoare triple {3854#true} assume true; {3854#true} is VALID [2022-04-28 14:20:28,373 INFO L290 TraceCheckUtils]: 1: Hoare triple {3854#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); {3854#true} is VALID [2022-04-28 14:20:28,373 INFO L272 TraceCheckUtils]: 0: Hoare triple {3854#true} call ULTIMATE.init(); {3854#true} is VALID [2022-04-28 14:20:28,373 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:28,374 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:20:28,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1628939999] [2022-04-28 14:20:28,374 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:20:28,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [383554289] [2022-04-28 14:20:28,374 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [383554289] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:20:28,374 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:20:28,374 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 9] total 20 [2022-04-28 14:20:28,374 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:20:28,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1211959624] [2022-04-28 14:20:28,375 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1211959624] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:20:28,375 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:20:28,375 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 14:20:28,375 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [169824383] [2022-04-28 14:20:28,375 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:20:28,375 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-28 14:20:28,375 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:20:28,376 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:20:28,411 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:20:28,411 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 14:20:28,411 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:20:28,411 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 14:20:28,411 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=312, Unknown=0, NotChecked=0, Total=380 [2022-04-28 14:20:28,412 INFO L87 Difference]: Start difference. First operand 50 states and 54 transitions. Second operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:20:29,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:20:29,203 INFO L93 Difference]: Finished difference Result 79 states and 86 transitions. [2022-04-28 14:20:29,203 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 14:20:29,203 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-28 14:20:29,203 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:20:29,203 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:20:29,205 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 64 transitions. [2022-04-28 14:20:29,205 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:20:29,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 64 transitions. [2022-04-28 14:20:29,206 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 64 transitions. [2022-04-28 14:20:29,261 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:20:29,261 INFO L225 Difference]: With dead ends: 79 [2022-04-28 14:20:29,262 INFO L226 Difference]: Without dead ends: 60 [2022-04-28 14:20:29,262 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 70 SyntacticMatches, 3 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 113 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=85, Invalid=421, Unknown=0, NotChecked=0, Total=506 [2022-04-28 14:20:29,262 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 28 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 246 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 258 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 246 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 14:20:29,263 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 136 Invalid, 258 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 246 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 14:20:29,263 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-28 14:20:29,377 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 59. [2022-04-28 14:20:29,377 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:20:29,378 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 59 states, 41 states have (on average 1.0731707317073171) internal successors, (44), 42 states have internal predecessors, (44), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:20:29,378 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 59 states, 41 states have (on average 1.0731707317073171) internal successors, (44), 42 states have internal predecessors, (44), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:20:29,378 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 59 states, 41 states have (on average 1.0731707317073171) internal successors, (44), 42 states have internal predecessors, (44), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:20:29,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:20:29,380 INFO L93 Difference]: Finished difference Result 60 states and 64 transitions. [2022-04-28 14:20:29,380 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 64 transitions. [2022-04-28 14:20:29,380 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:20:29,380 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:20:29,381 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 41 states have (on average 1.0731707317073171) internal successors, (44), 42 states have internal predecessors, (44), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 60 states. [2022-04-28 14:20:29,381 INFO L87 Difference]: Start difference. First operand has 59 states, 41 states have (on average 1.0731707317073171) internal successors, (44), 42 states have internal predecessors, (44), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 60 states. [2022-04-28 14:20:29,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:20:29,382 INFO L93 Difference]: Finished difference Result 60 states and 64 transitions. [2022-04-28 14:20:29,383 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 64 transitions. [2022-04-28 14:20:29,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:20:29,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:20:29,383 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:20:29,383 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:20:29,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 41 states have (on average 1.0731707317073171) internal successors, (44), 42 states have internal predecessors, (44), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:20:29,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 63 transitions. [2022-04-28 14:20:29,385 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 63 transitions. Word has length 46 [2022-04-28 14:20:29,385 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:20:29,385 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 63 transitions. [2022-04-28 14:20:29,385 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:20:29,385 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 63 transitions. [2022-04-28 14:20:31,518 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 62 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:20:31,518 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 63 transitions. [2022-04-28 14:20:31,519 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 14:20:31,519 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:20:31,519 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:20:31,535 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:20:31,719 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:20:31,719 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:20:31,720 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:20:31,720 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 3 times [2022-04-28 14:20:31,720 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:20:31,720 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1307838374] [2022-04-28 14:20:31,720 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:20:31,720 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 4 times [2022-04-28 14:20:31,720 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:20:31,720 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [391360506] [2022-04-28 14:20:31,720 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:20:31,721 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:20:31,731 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:20:31,731 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [415258609] [2022-04-28 14:20:31,731 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:20:31,732 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:20:31,732 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:20:31,732 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:20:31,733 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:20:31,767 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:20:31,767 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:20:31,767 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 14:20:31,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:20:31,779 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:20:37,999 INFO L272 TraceCheckUtils]: 0: Hoare triple {4551#true} call ULTIMATE.init(); {4551#true} is VALID [2022-04-28 14:20:37,999 INFO L290 TraceCheckUtils]: 1: Hoare triple {4551#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); {4551#true} is VALID [2022-04-28 14:20:37,999 INFO L290 TraceCheckUtils]: 2: Hoare triple {4551#true} assume true; {4551#true} is VALID [2022-04-28 14:20:38,000 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4551#true} {4551#true} #71#return; {4551#true} is VALID [2022-04-28 14:20:38,000 INFO L272 TraceCheckUtils]: 4: Hoare triple {4551#true} call #t~ret6 := main(); {4551#true} is VALID [2022-04-28 14:20:38,000 INFO L290 TraceCheckUtils]: 5: Hoare triple {4551#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; {4551#true} is VALID [2022-04-28 14:20:38,000 INFO L272 TraceCheckUtils]: 6: Hoare triple {4551#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {4551#true} is VALID [2022-04-28 14:20:38,000 INFO L290 TraceCheckUtils]: 7: Hoare triple {4551#true} ~cond := #in~cond; {4551#true} is VALID [2022-04-28 14:20:38,000 INFO L290 TraceCheckUtils]: 8: Hoare triple {4551#true} assume !(0 == ~cond); {4551#true} is VALID [2022-04-28 14:20:38,000 INFO L290 TraceCheckUtils]: 9: Hoare triple {4551#true} assume true; {4551#true} is VALID [2022-04-28 14:20:38,000 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4551#true} {4551#true} #61#return; {4551#true} is VALID [2022-04-28 14:20:38,000 INFO L290 TraceCheckUtils]: 11: Hoare triple {4551#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4551#true} is VALID [2022-04-28 14:20:38,000 INFO L272 TraceCheckUtils]: 12: Hoare triple {4551#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {4551#true} is VALID [2022-04-28 14:20:38,000 INFO L290 TraceCheckUtils]: 13: Hoare triple {4551#true} ~cond := #in~cond; {4551#true} is VALID [2022-04-28 14:20:38,000 INFO L290 TraceCheckUtils]: 14: Hoare triple {4551#true} assume !(0 == ~cond); {4551#true} is VALID [2022-04-28 14:20:38,000 INFO L290 TraceCheckUtils]: 15: Hoare triple {4551#true} assume true; {4551#true} is VALID [2022-04-28 14:20:38,000 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4551#true} {4551#true} #63#return; {4551#true} is VALID [2022-04-28 14:20:38,000 INFO L272 TraceCheckUtils]: 17: Hoare triple {4551#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4551#true} is VALID [2022-04-28 14:20:38,001 INFO L290 TraceCheckUtils]: 18: Hoare triple {4551#true} ~cond := #in~cond; {4610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:20:38,001 INFO L290 TraceCheckUtils]: 19: Hoare triple {4610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:20:38,001 INFO L290 TraceCheckUtils]: 20: Hoare triple {4614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:20:38,002 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4614#(not (= |assume_abort_if_not_#in~cond| 0))} {4551#true} #65#return; {4621#(<= 1 main_~b~0)} is VALID [2022-04-28 14:20:38,002 INFO L290 TraceCheckUtils]: 22: Hoare triple {4621#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4625#(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:20:38,002 INFO L290 TraceCheckUtils]: 23: Hoare triple {4625#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {4625#(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:20:38,002 INFO L272 TraceCheckUtils]: 24: Hoare triple {4625#(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)); {4551#true} is VALID [2022-04-28 14:20:38,003 INFO L290 TraceCheckUtils]: 25: Hoare triple {4551#true} ~cond := #in~cond; {4635#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:20:38,003 INFO L290 TraceCheckUtils]: 26: Hoare triple {4635#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4639#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:20:38,003 INFO L290 TraceCheckUtils]: 27: Hoare triple {4639#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4639#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:20:38,004 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4639#(not (= |__VERIFIER_assert_#in~cond| 0))} {4625#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {4625#(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:20:38,004 INFO L290 TraceCheckUtils]: 29: Hoare triple {4625#(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); {4625#(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:20:38,005 INFO L290 TraceCheckUtils]: 30: Hoare triple {4625#(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)); {4652#(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:20:38,006 INFO L290 TraceCheckUtils]: 31: Hoare triple {4652#(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); {4656#(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:20:38,007 INFO L290 TraceCheckUtils]: 32: Hoare triple {4656#(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; {4656#(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:20:38,007 INFO L272 TraceCheckUtils]: 33: Hoare triple {4656#(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)); {4551#true} is VALID [2022-04-28 14:20:38,007 INFO L290 TraceCheckUtils]: 34: Hoare triple {4551#true} ~cond := #in~cond; {4551#true} is VALID [2022-04-28 14:20:38,008 INFO L290 TraceCheckUtils]: 35: Hoare triple {4551#true} assume !(0 == ~cond); {4551#true} is VALID [2022-04-28 14:20:38,008 INFO L290 TraceCheckUtils]: 36: Hoare triple {4551#true} assume true; {4551#true} is VALID [2022-04-28 14:20:38,008 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4551#true} {4656#(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))} #67#return; {4656#(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:20:38,009 INFO L290 TraceCheckUtils]: 38: Hoare triple {4656#(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 !!(0 != ~y~0); {4656#(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:20:38,010 INFO L290 TraceCheckUtils]: 39: Hoare triple {4656#(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 !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4681#(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:20:38,012 INFO L290 TraceCheckUtils]: 40: Hoare triple {4681#(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); {4685#(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:20:38,015 INFO L290 TraceCheckUtils]: 41: Hoare triple {4685#(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; {4685#(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:20:38,017 INFO L272 TraceCheckUtils]: 42: Hoare triple {4685#(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)); {4692#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:20:38,018 INFO L290 TraceCheckUtils]: 43: Hoare triple {4692#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4696#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:20:38,018 INFO L290 TraceCheckUtils]: 44: Hoare triple {4696#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4552#false} is VALID [2022-04-28 14:20:38,018 INFO L290 TraceCheckUtils]: 45: Hoare triple {4552#false} assume !false; {4552#false} is VALID [2022-04-28 14:20:38,019 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:20:38,019 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:21:28,160 INFO L290 TraceCheckUtils]: 45: Hoare triple {4552#false} assume !false; {4552#false} is VALID [2022-04-28 14:21:28,160 INFO L290 TraceCheckUtils]: 44: Hoare triple {4696#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4552#false} is VALID [2022-04-28 14:21:28,161 INFO L290 TraceCheckUtils]: 43: Hoare triple {4692#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4696#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:21:28,161 INFO L272 TraceCheckUtils]: 42: Hoare triple {4712#(= (+ 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)); {4692#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:21:28,162 INFO L290 TraceCheckUtils]: 41: Hoare triple {4712#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4712#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:21:28,168 INFO L290 TraceCheckUtils]: 40: Hoare triple {4719#(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); {4712#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:21:28,169 INFO L290 TraceCheckUtils]: 39: Hoare triple {4723#(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)); {4719#(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:28,170 INFO L290 TraceCheckUtils]: 38: Hoare triple {4723#(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); {4723#(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:28,170 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4551#true} {4723#(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; {4723#(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:28,170 INFO L290 TraceCheckUtils]: 36: Hoare triple {4551#true} assume true; {4551#true} is VALID [2022-04-28 14:21:28,170 INFO L290 TraceCheckUtils]: 35: Hoare triple {4551#true} assume !(0 == ~cond); {4551#true} is VALID [2022-04-28 14:21:28,170 INFO L290 TraceCheckUtils]: 34: Hoare triple {4551#true} ~cond := #in~cond; {4551#true} is VALID [2022-04-28 14:21:28,171 INFO L272 TraceCheckUtils]: 33: Hoare triple {4723#(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)); {4551#true} is VALID [2022-04-28 14:21:28,171 INFO L290 TraceCheckUtils]: 32: Hoare triple {4723#(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; {4723#(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:28,183 INFO L290 TraceCheckUtils]: 31: Hoare triple {4748#(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); {4723#(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:28,184 INFO L290 TraceCheckUtils]: 30: Hoare triple {4752#(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)); {4748#(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:21:28,185 INFO L290 TraceCheckUtils]: 29: Hoare triple {4756#(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)) (= main_~y~0 0))} assume !!(0 != ~y~0); {4752#(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:21:28,195 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4639#(not (= |__VERIFIER_assert_#in~cond| 0))} {4760#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} #67#return; {4756#(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)) (= main_~y~0 0))} is VALID [2022-04-28 14:21:28,195 INFO L290 TraceCheckUtils]: 27: Hoare triple {4639#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4639#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:21:28,196 INFO L290 TraceCheckUtils]: 26: Hoare triple {4770#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4639#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:21:28,196 INFO L290 TraceCheckUtils]: 25: Hoare triple {4551#true} ~cond := #in~cond; {4770#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:21:28,196 INFO L272 TraceCheckUtils]: 24: Hoare triple {4760#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4551#true} is VALID [2022-04-28 14:21:28,197 INFO L290 TraceCheckUtils]: 23: Hoare triple {4760#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} assume !false; {4760#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} is VALID [2022-04-28 14:21:28,197 INFO L290 TraceCheckUtils]: 22: Hoare triple {4780#(or (forall ((main_~a~0 Int)) (= (* (* main_~a~0 (div (+ (div main_~b~0 2) 1) 2)) 4) (* main_~b~0 main_~a~0))) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4760#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} is VALID [2022-04-28 14:21:28,198 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4614#(not (= |assume_abort_if_not_#in~cond| 0))} {4551#true} #65#return; {4780#(or (forall ((main_~a~0 Int)) (= (* (* main_~a~0 (div (+ (div main_~b~0 2) 1) 2)) 4) (* main_~b~0 main_~a~0))) (<= 0 main_~b~0))} is VALID [2022-04-28 14:21:28,198 INFO L290 TraceCheckUtils]: 20: Hoare triple {4614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:21:28,199 INFO L290 TraceCheckUtils]: 19: Hoare triple {4793#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:21:28,199 INFO L290 TraceCheckUtils]: 18: Hoare triple {4551#true} ~cond := #in~cond; {4793#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 14:21:28,199 INFO L272 TraceCheckUtils]: 17: Hoare triple {4551#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4551#true} is VALID [2022-04-28 14:21:28,199 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4551#true} {4551#true} #63#return; {4551#true} is VALID [2022-04-28 14:21:28,199 INFO L290 TraceCheckUtils]: 15: Hoare triple {4551#true} assume true; {4551#true} is VALID [2022-04-28 14:21:28,199 INFO L290 TraceCheckUtils]: 14: Hoare triple {4551#true} assume !(0 == ~cond); {4551#true} is VALID [2022-04-28 14:21:28,199 INFO L290 TraceCheckUtils]: 13: Hoare triple {4551#true} ~cond := #in~cond; {4551#true} is VALID [2022-04-28 14:21:28,199 INFO L272 TraceCheckUtils]: 12: Hoare triple {4551#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {4551#true} is VALID [2022-04-28 14:21:28,199 INFO L290 TraceCheckUtils]: 11: Hoare triple {4551#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4551#true} is VALID [2022-04-28 14:21:28,199 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4551#true} {4551#true} #61#return; {4551#true} is VALID [2022-04-28 14:21:28,199 INFO L290 TraceCheckUtils]: 9: Hoare triple {4551#true} assume true; {4551#true} is VALID [2022-04-28 14:21:28,200 INFO L290 TraceCheckUtils]: 8: Hoare triple {4551#true} assume !(0 == ~cond); {4551#true} is VALID [2022-04-28 14:21:28,200 INFO L290 TraceCheckUtils]: 7: Hoare triple {4551#true} ~cond := #in~cond; {4551#true} is VALID [2022-04-28 14:21:28,200 INFO L272 TraceCheckUtils]: 6: Hoare triple {4551#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {4551#true} is VALID [2022-04-28 14:21:28,200 INFO L290 TraceCheckUtils]: 5: Hoare triple {4551#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; {4551#true} is VALID [2022-04-28 14:21:28,200 INFO L272 TraceCheckUtils]: 4: Hoare triple {4551#true} call #t~ret6 := main(); {4551#true} is VALID [2022-04-28 14:21:28,200 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4551#true} {4551#true} #71#return; {4551#true} is VALID [2022-04-28 14:21:28,200 INFO L290 TraceCheckUtils]: 2: Hoare triple {4551#true} assume true; {4551#true} is VALID [2022-04-28 14:21:28,200 INFO L290 TraceCheckUtils]: 1: Hoare triple {4551#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); {4551#true} is VALID [2022-04-28 14:21:28,200 INFO L272 TraceCheckUtils]: 0: Hoare triple {4551#true} call ULTIMATE.init(); {4551#true} is VALID [2022-04-28 14:21:28,201 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:21:28,201 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:21:28,201 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [391360506] [2022-04-28 14:21:28,201 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:21:28,201 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [415258609] [2022-04-28 14:21:28,201 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [415258609] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:21:28,201 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:21:28,201 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 16] total 24 [2022-04-28 14:21:28,202 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:21:28,202 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1307838374] [2022-04-28 14:21:28,202 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1307838374] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:21:28,202 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:21:28,202 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 14:21:28,202 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [787805285] [2022-04-28 14:21:28,202 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:21:28,202 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 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:21:28,203 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:21:28,203 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 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:21:28,241 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:21:28,241 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 14:21:28,241 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:21:28,241 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 14:21:28,242 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=452, Unknown=0, NotChecked=0, Total=552 [2022-04-28 14:21:28,242 INFO L87 Difference]: Start difference. First operand 59 states and 63 transitions. Second operand has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 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:21:29,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:21:29,355 INFO L93 Difference]: Finished difference Result 71 states and 76 transitions. [2022-04-28 14:21:29,355 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 14:21:29,356 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 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:21:29,356 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:21:29,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 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:21:29,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 54 transitions. [2022-04-28 14:21:29,357 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 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:21:29,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 54 transitions. [2022-04-28 14:21:29,358 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 54 transitions. [2022-04-28 14:21:29,408 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:21:29,409 INFO L225 Difference]: With dead ends: 71 [2022-04-28 14:21:29,409 INFO L226 Difference]: Without dead ends: 69 [2022-04-28 14:21:29,410 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 67 SyntacticMatches, 2 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 145 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=118, Invalid=584, Unknown=0, NotChecked=0, Total=702 [2022-04-28 14:21:29,410 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 26 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 296 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 164 SdHoareTripleChecker+Invalid, 302 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 296 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 14:21:29,411 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 164 Invalid, 302 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 296 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 14:21:29,411 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-28 14:21:29,481 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 50. [2022-04-28 14:21:29,481 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:21:29,481 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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:21:29,482 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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:21:29,482 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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:21:29,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:21:29,483 INFO L93 Difference]: Finished difference Result 69 states and 74 transitions. [2022-04-28 14:21:29,483 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 74 transitions. [2022-04-28 14:21:29,483 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:21:29,483 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:21:29,483 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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 69 states. [2022-04-28 14:21:29,483 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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 69 states. [2022-04-28 14:21:29,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:21:29,485 INFO L93 Difference]: Finished difference Result 69 states and 74 transitions. [2022-04-28 14:21:29,485 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 74 transitions. [2022-04-28 14:21:29,485 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:21:29,485 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:21:29,485 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:21:29,485 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:21:29,485 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.088235294117647) internal successors, (37), 35 states have internal predecessors, (37), 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:21:29,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 54 transitions. [2022-04-28 14:21:29,487 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 54 transitions. Word has length 46 [2022-04-28 14:21:29,487 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:21:29,487 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 54 transitions. [2022-04-28 14:21:29,487 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 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:21:29,487 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 54 transitions. [2022-04-28 14:21:31,626 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 53 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:21:31,627 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 14:21:31,627 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 14:21:31,627 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:21:31,627 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:21:31,645 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 14:21:31,831 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:21:31,831 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:21:31,832 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:21:31,832 INFO L85 PathProgramCache]: Analyzing trace with hash 39337712, now seen corresponding path program 5 times [2022-04-28 14:21:31,832 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:21:31,832 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1158006034] [2022-04-28 14:21:31,832 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:21:31,832 INFO L85 PathProgramCache]: Analyzing trace with hash 39337712, now seen corresponding path program 6 times [2022-04-28 14:21:31,832 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:21:31,832 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [935739699] [2022-04-28 14:21:31,832 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:21:31,833 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:21:31,852 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:21:31,852 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2025975298] [2022-04-28 14:21:31,852 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 14:21:31,852 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:21:31,852 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:21:31,853 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:21:31,876 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:21:31,905 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 14:21:31,906 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:21:31,906 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 14:21:31,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:21:31,920 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:22:51,846 INFO L272 TraceCheckUtils]: 0: Hoare triple {5236#true} call ULTIMATE.init(); {5236#true} is VALID [2022-04-28 14:22:51,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {5236#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); {5236#true} is VALID [2022-04-28 14:22:51,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {5236#true} assume true; {5236#true} is VALID [2022-04-28 14:22:51,847 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5236#true} {5236#true} #71#return; {5236#true} is VALID [2022-04-28 14:22:51,847 INFO L272 TraceCheckUtils]: 4: Hoare triple {5236#true} call #t~ret6 := main(); {5236#true} is VALID [2022-04-28 14:22:51,847 INFO L290 TraceCheckUtils]: 5: Hoare triple {5236#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; {5236#true} is VALID [2022-04-28 14:22:51,847 INFO L272 TraceCheckUtils]: 6: Hoare triple {5236#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {5236#true} is VALID [2022-04-28 14:22:51,847 INFO L290 TraceCheckUtils]: 7: Hoare triple {5236#true} ~cond := #in~cond; {5236#true} is VALID [2022-04-28 14:22:51,847 INFO L290 TraceCheckUtils]: 8: Hoare triple {5236#true} assume !(0 == ~cond); {5236#true} is VALID [2022-04-28 14:22:51,847 INFO L290 TraceCheckUtils]: 9: Hoare triple {5236#true} assume true; {5236#true} is VALID [2022-04-28 14:22:51,847 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5236#true} {5236#true} #61#return; {5236#true} is VALID [2022-04-28 14:22:51,848 INFO L290 TraceCheckUtils]: 11: Hoare triple {5236#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5236#true} is VALID [2022-04-28 14:22:51,848 INFO L272 TraceCheckUtils]: 12: Hoare triple {5236#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {5236#true} is VALID [2022-04-28 14:22:51,848 INFO L290 TraceCheckUtils]: 13: Hoare triple {5236#true} ~cond := #in~cond; {5236#true} is VALID [2022-04-28 14:22:51,848 INFO L290 TraceCheckUtils]: 14: Hoare triple {5236#true} assume !(0 == ~cond); {5236#true} is VALID [2022-04-28 14:22:51,848 INFO L290 TraceCheckUtils]: 15: Hoare triple {5236#true} assume true; {5236#true} is VALID [2022-04-28 14:22:51,848 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5236#true} {5236#true} #63#return; {5236#true} is VALID [2022-04-28 14:22:51,848 INFO L272 TraceCheckUtils]: 17: Hoare triple {5236#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5236#true} is VALID [2022-04-28 14:22:51,848 INFO L290 TraceCheckUtils]: 18: Hoare triple {5236#true} ~cond := #in~cond; {5236#true} is VALID [2022-04-28 14:22:51,848 INFO L290 TraceCheckUtils]: 19: Hoare triple {5236#true} assume !(0 == ~cond); {5236#true} is VALID [2022-04-28 14:22:51,848 INFO L290 TraceCheckUtils]: 20: Hoare triple {5236#true} assume true; {5236#true} is VALID [2022-04-28 14:22:51,849 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5236#true} {5236#true} #65#return; {5236#true} is VALID [2022-04-28 14:22:51,858 INFO L290 TraceCheckUtils]: 22: Hoare triple {5236#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5307#(and (= main_~z~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:22:51,858 INFO L290 TraceCheckUtils]: 23: Hoare triple {5307#(and (= main_~z~0 0) (= main_~a~0 main_~x~0))} assume !false; {5307#(and (= main_~z~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:22:51,858 INFO L272 TraceCheckUtils]: 24: Hoare triple {5307#(and (= main_~z~0 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)); {5236#true} is VALID [2022-04-28 14:22:51,858 INFO L290 TraceCheckUtils]: 25: Hoare triple {5236#true} ~cond := #in~cond; {5236#true} is VALID [2022-04-28 14:22:51,858 INFO L290 TraceCheckUtils]: 26: Hoare triple {5236#true} assume !(0 == ~cond); {5236#true} is VALID [2022-04-28 14:22:51,858 INFO L290 TraceCheckUtils]: 27: Hoare triple {5236#true} assume true; {5236#true} is VALID [2022-04-28 14:22:51,859 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5236#true} {5307#(and (= main_~z~0 0) (= main_~a~0 main_~x~0))} #67#return; {5307#(and (= main_~z~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:22:51,859 INFO L290 TraceCheckUtils]: 29: Hoare triple {5307#(and (= main_~z~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {5307#(and (= main_~z~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:22:51,860 INFO L290 TraceCheckUtils]: 30: Hoare triple {5307#(and (= main_~z~0 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; {5332#(= main_~a~0 main_~z~0)} is VALID [2022-04-28 14:22:51,860 INFO L290 TraceCheckUtils]: 31: Hoare triple {5332#(= main_~a~0 main_~z~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); {5332#(= main_~a~0 main_~z~0)} is VALID [2022-04-28 14:22:51,861 INFO L290 TraceCheckUtils]: 32: Hoare triple {5332#(= main_~a~0 main_~z~0)} assume !false; {5332#(= main_~a~0 main_~z~0)} is VALID [2022-04-28 14:22:51,861 INFO L272 TraceCheckUtils]: 33: Hoare triple {5332#(= main_~a~0 main_~z~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5236#true} is VALID [2022-04-28 14:22:51,861 INFO L290 TraceCheckUtils]: 34: Hoare triple {5236#true} ~cond := #in~cond; {5236#true} is VALID [2022-04-28 14:22:51,861 INFO L290 TraceCheckUtils]: 35: Hoare triple {5236#true} assume !(0 == ~cond); {5236#true} is VALID [2022-04-28 14:22:51,861 INFO L290 TraceCheckUtils]: 36: Hoare triple {5236#true} assume true; {5236#true} is VALID [2022-04-28 14:22:51,861 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5236#true} {5332#(= main_~a~0 main_~z~0)} #67#return; {5332#(= main_~a~0 main_~z~0)} is VALID [2022-04-28 14:22:51,862 INFO L290 TraceCheckUtils]: 38: Hoare triple {5332#(= main_~a~0 main_~z~0)} assume !!(0 != ~y~0); {5332#(= main_~a~0 main_~z~0)} is VALID [2022-04-28 14:22:51,862 INFO L290 TraceCheckUtils]: 39: Hoare triple {5332#(= main_~a~0 main_~z~0)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5332#(= main_~a~0 main_~z~0)} is VALID [2022-04-28 14:22:51,862 INFO L290 TraceCheckUtils]: 40: Hoare triple {5332#(= main_~a~0 main_~z~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); {5332#(= main_~a~0 main_~z~0)} is VALID [2022-04-28 14:22:51,862 INFO L290 TraceCheckUtils]: 41: Hoare triple {5332#(= main_~a~0 main_~z~0)} assume !false; {5332#(= main_~a~0 main_~z~0)} is VALID [2022-04-28 14:22:51,863 INFO L272 TraceCheckUtils]: 42: Hoare triple {5332#(= main_~a~0 main_~z~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5236#true} is VALID [2022-04-28 14:22:51,863 INFO L290 TraceCheckUtils]: 43: Hoare triple {5236#true} ~cond := #in~cond; {5372#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:22:51,863 INFO L290 TraceCheckUtils]: 44: Hoare triple {5372#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5376#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:22:51,863 INFO L290 TraceCheckUtils]: 45: Hoare triple {5376#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5376#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:22:51,864 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5376#(not (= |__VERIFIER_assert_#in~cond| 0))} {5332#(= main_~a~0 main_~z~0)} #67#return; {5383#(and (= main_~a~0 main_~z~0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:22:51,864 INFO L290 TraceCheckUtils]: 47: Hoare triple {5383#(and (= main_~a~0 main_~z~0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} assume !!(0 != ~y~0); {5387#(and (not (= main_~y~0 0)) (= main_~a~0 main_~z~0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 14:22:51,867 INFO L290 TraceCheckUtils]: 48: Hoare triple {5387#(and (not (= main_~y~0 0)) (= main_~a~0 main_~z~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; {5391#(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 main_~x~0) main_~z~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:22:51,882 INFO L290 TraceCheckUtils]: 49: Hoare triple {5391#(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 main_~x~0) main_~z~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); {5395#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (exists ((aux_div_v_main_~y~0_59_28 Int) (aux_mod_v_main_~y~0_59_28 Int)) (and (< aux_mod_v_main_~y~0_59_28 2) (= main_~y~0 (div (+ (- 1) aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2)) 2)) (<= 1 aux_mod_v_main_~y~0_59_28) (= (+ (* 2 (* aux_div_v_main_~y~0_59_28 main_~a~0)) (* main_~a~0 aux_mod_v_main_~y~0_59_28) (* main_~b~0 main_~a~0)) (+ (* main_~z~0 aux_mod_v_main_~y~0_59_28) (* 2 (* aux_div_v_main_~y~0_59_28 main_~z~0)) main_~a~0)) (<= 0 (+ aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2))))))} is VALID [2022-04-28 14:22:52,889 INFO L290 TraceCheckUtils]: 50: Hoare triple {5395#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (exists ((aux_div_v_main_~y~0_59_28 Int) (aux_mod_v_main_~y~0_59_28 Int)) (and (< aux_mod_v_main_~y~0_59_28 2) (= main_~y~0 (div (+ (- 1) aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2)) 2)) (<= 1 aux_mod_v_main_~y~0_59_28) (= (+ (* 2 (* aux_div_v_main_~y~0_59_28 main_~a~0)) (* main_~a~0 aux_mod_v_main_~y~0_59_28) (* main_~b~0 main_~a~0)) (+ (* main_~z~0 aux_mod_v_main_~y~0_59_28) (* 2 (* aux_div_v_main_~y~0_59_28 main_~z~0)) main_~a~0)) (<= 0 (+ aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2))))))} assume !false; {5395#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (exists ((aux_div_v_main_~y~0_59_28 Int) (aux_mod_v_main_~y~0_59_28 Int)) (and (< aux_mod_v_main_~y~0_59_28 2) (= main_~y~0 (div (+ (- 1) aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2)) 2)) (<= 1 aux_mod_v_main_~y~0_59_28) (= (+ (* 2 (* aux_div_v_main_~y~0_59_28 main_~a~0)) (* main_~a~0 aux_mod_v_main_~y~0_59_28) (* main_~b~0 main_~a~0)) (+ (* main_~z~0 aux_mod_v_main_~y~0_59_28) (* 2 (* aux_div_v_main_~y~0_59_28 main_~z~0)) main_~a~0)) (<= 0 (+ aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2))))))} is VALID [2022-04-28 14:22:54,892 WARN L272 TraceCheckUtils]: 51: Hoare triple {5395#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (exists ((aux_div_v_main_~y~0_59_28 Int) (aux_mod_v_main_~y~0_59_28 Int)) (and (< aux_mod_v_main_~y~0_59_28 2) (= main_~y~0 (div (+ (- 1) aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2)) 2)) (<= 1 aux_mod_v_main_~y~0_59_28) (= (+ (* 2 (* aux_div_v_main_~y~0_59_28 main_~a~0)) (* main_~a~0 aux_mod_v_main_~y~0_59_28) (* main_~b~0 main_~a~0)) (+ (* main_~z~0 aux_mod_v_main_~y~0_59_28) (* 2 (* aux_div_v_main_~y~0_59_28 main_~z~0)) main_~a~0)) (<= 0 (+ aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2))))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5402#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-28 14:22:54,893 INFO L290 TraceCheckUtils]: 52: Hoare triple {5402#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5406#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:22:54,893 INFO L290 TraceCheckUtils]: 53: Hoare triple {5406#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5237#false} is VALID [2022-04-28 14:22:54,893 INFO L290 TraceCheckUtils]: 54: Hoare triple {5237#false} assume !false; {5237#false} is VALID [2022-04-28 14:22:54,893 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 13 proven. 17 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-28 14:22:54,893 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:24:22,281 INFO L290 TraceCheckUtils]: 54: Hoare triple {5237#false} assume !false; {5237#false} is VALID [2022-04-28 14:24:22,281 INFO L290 TraceCheckUtils]: 53: Hoare triple {5406#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5237#false} is VALID [2022-04-28 14:24:22,282 INFO L290 TraceCheckUtils]: 52: Hoare triple {5402#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5406#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:24:22,282 INFO L272 TraceCheckUtils]: 51: Hoare triple {5422#(= (+ 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)); {5402#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:24:22,283 INFO L290 TraceCheckUtils]: 50: Hoare triple {5422#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {5422#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:24:22,334 INFO L290 TraceCheckUtils]: 49: Hoare triple {5429#(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); {5422#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:24:22,336 INFO L290 TraceCheckUtils]: 48: Hoare triple {5433#(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; {5429#(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:22,337 INFO L290 TraceCheckUtils]: 47: Hoare triple {5433#(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); {5433#(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:24:22,641 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5376#(not (= |__VERIFIER_assert_#in~cond| 0))} {5236#true} #67#return; {5433#(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:24:22,641 INFO L290 TraceCheckUtils]: 45: Hoare triple {5376#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5376#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:24:22,642 INFO L290 TraceCheckUtils]: 44: Hoare triple {5449#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5376#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:24:22,642 INFO L290 TraceCheckUtils]: 43: Hoare triple {5236#true} ~cond := #in~cond; {5449#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:24:22,642 INFO L272 TraceCheckUtils]: 42: Hoare triple {5236#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5236#true} is VALID [2022-04-28 14:24:22,642 INFO L290 TraceCheckUtils]: 41: Hoare triple {5236#true} assume !false; {5236#true} is VALID [2022-04-28 14:24:22,642 INFO L290 TraceCheckUtils]: 40: Hoare triple {5236#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); {5236#true} is VALID [2022-04-28 14:24:22,642 INFO L290 TraceCheckUtils]: 39: Hoare triple {5236#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5236#true} is VALID [2022-04-28 14:24:22,642 INFO L290 TraceCheckUtils]: 38: Hoare triple {5236#true} assume !!(0 != ~y~0); {5236#true} is VALID [2022-04-28 14:24:22,642 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5236#true} {5236#true} #67#return; {5236#true} is VALID [2022-04-28 14:24:22,643 INFO L290 TraceCheckUtils]: 36: Hoare triple {5236#true} assume true; {5236#true} is VALID [2022-04-28 14:24:22,643 INFO L290 TraceCheckUtils]: 35: Hoare triple {5236#true} assume !(0 == ~cond); {5236#true} is VALID [2022-04-28 14:24:22,643 INFO L290 TraceCheckUtils]: 34: Hoare triple {5236#true} ~cond := #in~cond; {5236#true} is VALID [2022-04-28 14:24:22,643 INFO L272 TraceCheckUtils]: 33: Hoare triple {5236#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5236#true} is VALID [2022-04-28 14:24:22,643 INFO L290 TraceCheckUtils]: 32: Hoare triple {5236#true} assume !false; {5236#true} is VALID [2022-04-28 14:24:22,643 INFO L290 TraceCheckUtils]: 31: Hoare triple {5236#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); {5236#true} is VALID [2022-04-28 14:24:22,643 INFO L290 TraceCheckUtils]: 30: Hoare triple {5236#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; {5236#true} is VALID [2022-04-28 14:24:22,643 INFO L290 TraceCheckUtils]: 29: Hoare triple {5236#true} assume !!(0 != ~y~0); {5236#true} is VALID [2022-04-28 14:24:22,643 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5236#true} {5236#true} #67#return; {5236#true} is VALID [2022-04-28 14:24:22,643 INFO L290 TraceCheckUtils]: 27: Hoare triple {5236#true} assume true; {5236#true} is VALID [2022-04-28 14:24:22,643 INFO L290 TraceCheckUtils]: 26: Hoare triple {5236#true} assume !(0 == ~cond); {5236#true} is VALID [2022-04-28 14:24:22,643 INFO L290 TraceCheckUtils]: 25: Hoare triple {5236#true} ~cond := #in~cond; {5236#true} is VALID [2022-04-28 14:24:22,643 INFO L272 TraceCheckUtils]: 24: Hoare triple {5236#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5236#true} is VALID [2022-04-28 14:24:22,643 INFO L290 TraceCheckUtils]: 23: Hoare triple {5236#true} assume !false; {5236#true} is VALID [2022-04-28 14:24:22,643 INFO L290 TraceCheckUtils]: 22: Hoare triple {5236#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5236#true} is VALID [2022-04-28 14:24:22,643 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5236#true} {5236#true} #65#return; {5236#true} is VALID [2022-04-28 14:24:22,644 INFO L290 TraceCheckUtils]: 20: Hoare triple {5236#true} assume true; {5236#true} is VALID [2022-04-28 14:24:22,644 INFO L290 TraceCheckUtils]: 19: Hoare triple {5236#true} assume !(0 == ~cond); {5236#true} is VALID [2022-04-28 14:24:22,644 INFO L290 TraceCheckUtils]: 18: Hoare triple {5236#true} ~cond := #in~cond; {5236#true} is VALID [2022-04-28 14:24:22,644 INFO L272 TraceCheckUtils]: 17: Hoare triple {5236#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5236#true} is VALID [2022-04-28 14:24:22,644 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5236#true} {5236#true} #63#return; {5236#true} is VALID [2022-04-28 14:24:22,644 INFO L290 TraceCheckUtils]: 15: Hoare triple {5236#true} assume true; {5236#true} is VALID [2022-04-28 14:24:22,644 INFO L290 TraceCheckUtils]: 14: Hoare triple {5236#true} assume !(0 == ~cond); {5236#true} is VALID [2022-04-28 14:24:22,644 INFO L290 TraceCheckUtils]: 13: Hoare triple {5236#true} ~cond := #in~cond; {5236#true} is VALID [2022-04-28 14:24:22,644 INFO L272 TraceCheckUtils]: 12: Hoare triple {5236#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {5236#true} is VALID [2022-04-28 14:24:22,644 INFO L290 TraceCheckUtils]: 11: Hoare triple {5236#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5236#true} is VALID [2022-04-28 14:24:22,644 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5236#true} {5236#true} #61#return; {5236#true} is VALID [2022-04-28 14:24:22,644 INFO L290 TraceCheckUtils]: 9: Hoare triple {5236#true} assume true; {5236#true} is VALID [2022-04-28 14:24:22,644 INFO L290 TraceCheckUtils]: 8: Hoare triple {5236#true} assume !(0 == ~cond); {5236#true} is VALID [2022-04-28 14:24:22,644 INFO L290 TraceCheckUtils]: 7: Hoare triple {5236#true} ~cond := #in~cond; {5236#true} is VALID [2022-04-28 14:24:22,644 INFO L272 TraceCheckUtils]: 6: Hoare triple {5236#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {5236#true} is VALID [2022-04-28 14:24:22,644 INFO L290 TraceCheckUtils]: 5: Hoare triple {5236#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; {5236#true} is VALID [2022-04-28 14:24:22,644 INFO L272 TraceCheckUtils]: 4: Hoare triple {5236#true} call #t~ret6 := main(); {5236#true} is VALID [2022-04-28 14:24:22,645 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5236#true} {5236#true} #71#return; {5236#true} is VALID [2022-04-28 14:24:22,645 INFO L290 TraceCheckUtils]: 2: Hoare triple {5236#true} assume true; {5236#true} is VALID [2022-04-28 14:24:22,645 INFO L290 TraceCheckUtils]: 1: Hoare triple {5236#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); {5236#true} is VALID [2022-04-28 14:24:22,645 INFO L272 TraceCheckUtils]: 0: Hoare triple {5236#true} call ULTIMATE.init(); {5236#true} is VALID [2022-04-28 14:24:22,645 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:24:22,645 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:24:22,645 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [935739699] [2022-04-28 14:24:22,645 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:24:22,645 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2025975298] [2022-04-28 14:24:22,645 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2025975298] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:24:22,645 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:24:22,645 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-28 14:24:22,646 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:24:22,646 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1158006034] [2022-04-28 14:24:22,646 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1158006034] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:24:22,646 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:24:22,646 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 14:24:22,646 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [265681254] [2022-04-28 14:24:22,646 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:24:22,646 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 4 states have call predecessors, (7), 3 states have call successors, (7) Word has length 55 [2022-04-28 14:24:22,646 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:24:22,647 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 4 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 14:24:26,725 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 41 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 14:24:26,726 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 14:24:26,726 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:24:26,726 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 14:24:26,726 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=194, Unknown=3, NotChecked=0, Total=240 [2022-04-28 14:24:26,726 INFO L87 Difference]: Start difference. First operand 50 states and 54 transitions. Second operand has 12 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 4 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 14:24:29,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:24:29,438 INFO L93 Difference]: Finished difference Result 72 states and 80 transitions. [2022-04-28 14:24:29,438 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 14:24:29,439 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 4 states have call predecessors, (7), 3 states have call successors, (7) Word has length 55 [2022-04-28 14:24:29,439 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:24:29,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 4 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 14:24:29,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 53 transitions. [2022-04-28 14:24:29,440 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 4 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 14:24:29,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 53 transitions. [2022-04-28 14:24:29,441 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 53 transitions. [2022-04-28 14:24:31,532 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 52 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:24:31,533 INFO L225 Difference]: With dead ends: 72 [2022-04-28 14:24:31,533 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 14:24:31,534 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 111 GetRequests, 92 SyntacticMatches, 3 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 41 ImplicationChecksByTransitivity, 10.3s TimeCoverageRelationStatistics Valid=56, Invalid=247, Unknown=3, NotChecked=0, Total=306 [2022-04-28 14:24:31,534 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 14 mSDsluCounter, 170 mSDsCounter, 0 mSdLazyCounter, 136 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 200 SdHoareTripleChecker+Invalid, 174 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 136 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 38 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 14:24:31,534 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 200 Invalid, 174 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 136 Invalid, 0 Unknown, 38 Unchecked, 0.2s Time] [2022-04-28 14:24:31,535 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 14:24:31,661 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-28 14:24:31,661 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:24:31,661 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 70 states, 49 states have (on average 1.0816326530612246) internal successors, (53), 52 states have internal predecessors, (53), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 14:24:31,661 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 70 states, 49 states have (on average 1.0816326530612246) internal successors, (53), 52 states have internal predecessors, (53), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 14:24:31,661 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 70 states, 49 states have (on average 1.0816326530612246) internal successors, (53), 52 states have internal predecessors, (53), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 14:24:31,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:24:31,663 INFO L93 Difference]: Finished difference Result 70 states and 78 transitions. [2022-04-28 14:24:31,663 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 78 transitions. [2022-04-28 14:24:31,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:24:31,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:24:31,664 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 49 states have (on average 1.0816326530612246) internal successors, (53), 52 states have internal predecessors, (53), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) Second operand 70 states. [2022-04-28 14:24:31,664 INFO L87 Difference]: Start difference. First operand has 70 states, 49 states have (on average 1.0816326530612246) internal successors, (53), 52 states have internal predecessors, (53), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) Second operand 70 states. [2022-04-28 14:24:31,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:24:31,666 INFO L93 Difference]: Finished difference Result 70 states and 78 transitions. [2022-04-28 14:24:31,666 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 78 transitions. [2022-04-28 14:24:31,666 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:24:31,666 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:24:31,666 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:24:31,666 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:24:31,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 49 states have (on average 1.0816326530612246) internal successors, (53), 52 states have internal predecessors, (53), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 14:24:31,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 78 transitions. [2022-04-28 14:24:31,668 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 78 transitions. Word has length 55 [2022-04-28 14:24:31,668 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:24:31,668 INFO L495 AbstractCegarLoop]: Abstraction has 70 states and 78 transitions. [2022-04-28 14:24:31,668 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 4 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 14:24:31,668 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 78 transitions. [2022-04-28 14:24:38,626 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 75 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 14:24:38,626 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 78 transitions. [2022-04-28 14:24:38,627 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 14:24:38,627 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:24:38,627 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:24:38,645 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:24:38,827 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:24:38,828 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:24:38,828 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:24:38,828 INFO L85 PathProgramCache]: Analyzing trace with hash 1814345074, now seen corresponding path program 7 times [2022-04-28 14:24:38,828 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:24:38,828 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1742639498] [2022-04-28 14:24:38,828 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:24:38,829 INFO L85 PathProgramCache]: Analyzing trace with hash 1814345074, now seen corresponding path program 8 times [2022-04-28 14:24:38,829 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:24:38,829 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1814512416] [2022-04-28 14:24:38,829 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:24:38,829 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:24:38,847 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:24:38,847 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2069509655] [2022-04-28 14:24:38,847 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:24:38,848 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:24:38,848 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:24:38,849 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:24:38,850 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:24:38,894 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:24:38,894 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:24:38,895 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 14:24:38,905 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:24:38,906 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:24:40,265 INFO L272 TraceCheckUtils]: 0: Hoare triple {6009#true} call ULTIMATE.init(); {6009#true} is VALID [2022-04-28 14:24:40,265 INFO L290 TraceCheckUtils]: 1: Hoare triple {6009#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); {6009#true} is VALID [2022-04-28 14:24:40,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {6009#true} assume true; {6009#true} is VALID [2022-04-28 14:24:40,265 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6009#true} {6009#true} #71#return; {6009#true} is VALID [2022-04-28 14:24:40,265 INFO L272 TraceCheckUtils]: 4: Hoare triple {6009#true} call #t~ret6 := main(); {6009#true} is VALID [2022-04-28 14:24:40,265 INFO L290 TraceCheckUtils]: 5: Hoare triple {6009#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; {6009#true} is VALID [2022-04-28 14:24:40,266 INFO L272 TraceCheckUtils]: 6: Hoare triple {6009#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {6009#true} is VALID [2022-04-28 14:24:40,266 INFO L290 TraceCheckUtils]: 7: Hoare triple {6009#true} ~cond := #in~cond; {6009#true} is VALID [2022-04-28 14:24:40,266 INFO L290 TraceCheckUtils]: 8: Hoare triple {6009#true} assume !(0 == ~cond); {6009#true} is VALID [2022-04-28 14:24:40,266 INFO L290 TraceCheckUtils]: 9: Hoare triple {6009#true} assume true; {6009#true} is VALID [2022-04-28 14:24:40,266 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6009#true} {6009#true} #61#return; {6009#true} is VALID [2022-04-28 14:24:40,266 INFO L290 TraceCheckUtils]: 11: Hoare triple {6009#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {6009#true} is VALID [2022-04-28 14:24:40,266 INFO L272 TraceCheckUtils]: 12: Hoare triple {6009#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {6009#true} is VALID [2022-04-28 14:24:40,266 INFO L290 TraceCheckUtils]: 13: Hoare triple {6009#true} ~cond := #in~cond; {6053#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:24:40,266 INFO L290 TraceCheckUtils]: 14: Hoare triple {6053#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6057#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:24:40,267 INFO L290 TraceCheckUtils]: 15: Hoare triple {6057#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6057#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:24:40,267 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6057#(not (= |assume_abort_if_not_#in~cond| 0))} {6009#true} #63#return; {6064#(and (<= main_~b~0 5) (<= 0 main_~b~0))} is VALID [2022-04-28 14:24:40,268 INFO L272 TraceCheckUtils]: 17: Hoare triple {6064#(and (<= main_~b~0 5) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {6009#true} is VALID [2022-04-28 14:24:40,268 INFO L290 TraceCheckUtils]: 18: Hoare triple {6009#true} ~cond := #in~cond; {6009#true} is VALID [2022-04-28 14:24:40,268 INFO L290 TraceCheckUtils]: 19: Hoare triple {6009#true} assume !(0 == ~cond); {6009#true} is VALID [2022-04-28 14:24:40,268 INFO L290 TraceCheckUtils]: 20: Hoare triple {6009#true} assume true; {6009#true} is VALID [2022-04-28 14:24:40,268 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6009#true} {6064#(and (<= main_~b~0 5) (<= 0 main_~b~0))} #65#return; {6064#(and (<= main_~b~0 5) (<= 0 main_~b~0))} is VALID [2022-04-28 14:24:40,268 INFO L290 TraceCheckUtils]: 22: Hoare triple {6064#(and (<= main_~b~0 5) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {6083#(<= main_~y~0 5)} is VALID [2022-04-28 14:24:40,269 INFO L290 TraceCheckUtils]: 23: Hoare triple {6083#(<= main_~y~0 5)} assume !false; {6083#(<= main_~y~0 5)} is VALID [2022-04-28 14:24:40,269 INFO L272 TraceCheckUtils]: 24: Hoare triple {6083#(<= main_~y~0 5)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6009#true} is VALID [2022-04-28 14:24:40,269 INFO L290 TraceCheckUtils]: 25: Hoare triple {6009#true} ~cond := #in~cond; {6009#true} is VALID [2022-04-28 14:24:40,269 INFO L290 TraceCheckUtils]: 26: Hoare triple {6009#true} assume !(0 == ~cond); {6009#true} is VALID [2022-04-28 14:24:40,269 INFO L290 TraceCheckUtils]: 27: Hoare triple {6009#true} assume true; {6009#true} is VALID [2022-04-28 14:24:40,269 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6009#true} {6083#(<= main_~y~0 5)} #67#return; {6083#(<= main_~y~0 5)} is VALID [2022-04-28 14:24:40,270 INFO L290 TraceCheckUtils]: 29: Hoare triple {6083#(<= main_~y~0 5)} assume !!(0 != ~y~0); {6105#(and (not (= main_~y~0 0)) (<= main_~y~0 5))} is VALID [2022-04-28 14:24:40,271 INFO L290 TraceCheckUtils]: 30: Hoare triple {6105#(and (not (= main_~y~0 0)) (<= main_~y~0 5))} 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; {6109#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= main_~y~0 4) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:24:40,274 INFO L290 TraceCheckUtils]: 31: Hoare triple {6109#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= main_~y~0 4) (<= 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); {6113#(exists ((aux_mod_v_main_~y~0_65_28 Int) (aux_div_v_main_~y~0_65_28 Int)) (and (<= 1 aux_mod_v_main_~y~0_65_28) (< aux_mod_v_main_~y~0_65_28 2) (<= (+ aux_mod_v_main_~y~0_65_28 (* aux_div_v_main_~y~0_65_28 2)) 5) (<= 0 (+ aux_mod_v_main_~y~0_65_28 (* aux_div_v_main_~y~0_65_28 2))) (= main_~y~0 (div (+ (- 1) aux_mod_v_main_~y~0_65_28 (* aux_div_v_main_~y~0_65_28 2)) 2))))} is VALID [2022-04-28 14:24:40,275 INFO L290 TraceCheckUtils]: 32: Hoare triple {6113#(exists ((aux_mod_v_main_~y~0_65_28 Int) (aux_div_v_main_~y~0_65_28 Int)) (and (<= 1 aux_mod_v_main_~y~0_65_28) (< aux_mod_v_main_~y~0_65_28 2) (<= (+ aux_mod_v_main_~y~0_65_28 (* aux_div_v_main_~y~0_65_28 2)) 5) (<= 0 (+ aux_mod_v_main_~y~0_65_28 (* aux_div_v_main_~y~0_65_28 2))) (= main_~y~0 (div (+ (- 1) aux_mod_v_main_~y~0_65_28 (* aux_div_v_main_~y~0_65_28 2)) 2))))} assume !false; {6117#(and (< main_~y~0 3) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:24:40,275 INFO L272 TraceCheckUtils]: 33: Hoare triple {6117#(and (< main_~y~0 3) (< 0 (+ main_~y~0 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6009#true} is VALID [2022-04-28 14:24:40,275 INFO L290 TraceCheckUtils]: 34: Hoare triple {6009#true} ~cond := #in~cond; {6009#true} is VALID [2022-04-28 14:24:40,275 INFO L290 TraceCheckUtils]: 35: Hoare triple {6009#true} assume !(0 == ~cond); {6009#true} is VALID [2022-04-28 14:24:40,275 INFO L290 TraceCheckUtils]: 36: Hoare triple {6009#true} assume true; {6009#true} is VALID [2022-04-28 14:24:40,276 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6009#true} {6117#(and (< main_~y~0 3) (< 0 (+ main_~y~0 1)))} #67#return; {6117#(and (< main_~y~0 3) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:24:40,276 INFO L290 TraceCheckUtils]: 38: Hoare triple {6117#(and (< main_~y~0 3) (< 0 (+ main_~y~0 1)))} assume !!(0 != ~y~0); {6136#(and (not (= main_~y~0 0)) (< main_~y~0 3) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:24:40,277 INFO L290 TraceCheckUtils]: 39: Hoare triple {6136#(and (not (= main_~y~0 0)) (< main_~y~0 3) (< 0 (+ main_~y~0 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6140#(and (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (< main_~y~0 3) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:24:40,278 INFO L290 TraceCheckUtils]: 40: Hoare triple {6140#(and (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (< main_~y~0 3) (< 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); {6144#(exists ((aux_mod_v_main_~y~0_66_22 Int) (aux_div_v_main_~y~0_66_22 Int)) (and (< aux_mod_v_main_~y~0_66_22 2) (< 0 (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2) 1)) (<= 0 aux_mod_v_main_~y~0_66_22) (= main_~y~0 (div (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2)) 2)) (< (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2)) 3) (not (= aux_mod_v_main_~y~0_66_22 1)) (not (= (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2)) 0))))} is VALID [2022-04-28 14:24:40,279 INFO L290 TraceCheckUtils]: 41: Hoare triple {6144#(exists ((aux_mod_v_main_~y~0_66_22 Int) (aux_div_v_main_~y~0_66_22 Int)) (and (< aux_mod_v_main_~y~0_66_22 2) (< 0 (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2) 1)) (<= 0 aux_mod_v_main_~y~0_66_22) (= main_~y~0 (div (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2)) 2)) (< (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2)) 3) (not (= aux_mod_v_main_~y~0_66_22 1)) (not (= (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2)) 0))))} assume !false; {6148#(and (< (* main_~y~0 2) 3) (< 0 main_~y~0))} is VALID [2022-04-28 14:24:40,279 INFO L272 TraceCheckUtils]: 42: Hoare triple {6148#(and (< (* main_~y~0 2) 3) (< 0 main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6009#true} is VALID [2022-04-28 14:24:40,279 INFO L290 TraceCheckUtils]: 43: Hoare triple {6009#true} ~cond := #in~cond; {6009#true} is VALID [2022-04-28 14:24:40,279 INFO L290 TraceCheckUtils]: 44: Hoare triple {6009#true} assume !(0 == ~cond); {6009#true} is VALID [2022-04-28 14:24:40,279 INFO L290 TraceCheckUtils]: 45: Hoare triple {6009#true} assume true; {6009#true} is VALID [2022-04-28 14:24:40,280 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6009#true} {6148#(and (< (* main_~y~0 2) 3) (< 0 main_~y~0))} #67#return; {6148#(and (< (* main_~y~0 2) 3) (< 0 main_~y~0))} is VALID [2022-04-28 14:24:40,280 INFO L290 TraceCheckUtils]: 47: Hoare triple {6148#(and (< (* main_~y~0 2) 3) (< 0 main_~y~0))} assume !!(0 != ~y~0); {6148#(and (< (* main_~y~0 2) 3) (< 0 main_~y~0))} is VALID [2022-04-28 14:24:40,281 INFO L290 TraceCheckUtils]: 48: Hoare triple {6148#(and (< (* main_~y~0 2) 3) (< 0 main_~y~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6010#false} is VALID [2022-04-28 14:24:40,281 INFO L290 TraceCheckUtils]: 49: Hoare triple {6010#false} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6010#false} is VALID [2022-04-28 14:24:40,281 INFO L290 TraceCheckUtils]: 50: Hoare triple {6010#false} assume !false; {6010#false} is VALID [2022-04-28 14:24:40,281 INFO L272 TraceCheckUtils]: 51: Hoare triple {6010#false} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6010#false} is VALID [2022-04-28 14:24:40,281 INFO L290 TraceCheckUtils]: 52: Hoare triple {6010#false} ~cond := #in~cond; {6010#false} is VALID [2022-04-28 14:24:40,281 INFO L290 TraceCheckUtils]: 53: Hoare triple {6010#false} assume 0 == ~cond; {6010#false} is VALID [2022-04-28 14:24:40,281 INFO L290 TraceCheckUtils]: 54: Hoare triple {6010#false} assume !false; {6010#false} is VALID [2022-04-28 14:24:40,281 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 30 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 14:24:40,281 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:24:43,686 INFO L290 TraceCheckUtils]: 54: Hoare triple {6010#false} assume !false; {6010#false} is VALID [2022-04-28 14:24:43,687 INFO L290 TraceCheckUtils]: 53: Hoare triple {6010#false} assume 0 == ~cond; {6010#false} is VALID [2022-04-28 14:24:43,687 INFO L290 TraceCheckUtils]: 52: Hoare triple {6010#false} ~cond := #in~cond; {6010#false} is VALID [2022-04-28 14:24:43,687 INFO L272 TraceCheckUtils]: 51: Hoare triple {6010#false} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6010#false} is VALID [2022-04-28 14:24:43,687 INFO L290 TraceCheckUtils]: 50: Hoare triple {6010#false} assume !false; {6010#false} is VALID [2022-04-28 14:24:43,687 INFO L290 TraceCheckUtils]: 49: Hoare triple {6010#false} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6010#false} is VALID [2022-04-28 14:24:43,687 INFO L290 TraceCheckUtils]: 48: Hoare triple {6206#(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)); {6010#false} is VALID [2022-04-28 14:24:43,688 INFO L290 TraceCheckUtils]: 47: Hoare triple {6206#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} assume !!(0 != ~y~0); {6206#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} is VALID [2022-04-28 14:24:43,688 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6009#true} {6206#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} #67#return; {6206#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} is VALID [2022-04-28 14:24:43,688 INFO L290 TraceCheckUtils]: 45: Hoare triple {6009#true} assume true; {6009#true} is VALID [2022-04-28 14:24:43,688 INFO L290 TraceCheckUtils]: 44: Hoare triple {6009#true} assume !(0 == ~cond); {6009#true} is VALID [2022-04-28 14:24:43,688 INFO L290 TraceCheckUtils]: 43: Hoare triple {6009#true} ~cond := #in~cond; {6009#true} is VALID [2022-04-28 14:24:43,688 INFO L272 TraceCheckUtils]: 42: Hoare triple {6206#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6009#true} is VALID [2022-04-28 14:24:43,689 INFO L290 TraceCheckUtils]: 41: Hoare triple {6206#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} assume !false; {6206#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} is VALID [2022-04-28 14:24:43,690 INFO L290 TraceCheckUtils]: 40: Hoare triple {6231#(and (= (mod (div main_~y~0 2) 2) 1) (<= 0 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); {6206#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} is VALID [2022-04-28 14:24:43,691 INFO L290 TraceCheckUtils]: 39: Hoare triple {6235#(or (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 main_~y~0)) (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)); {6231#(and (= (mod (div main_~y~0 2) 2) 1) (<= 0 main_~y~0))} is VALID [2022-04-28 14:24:43,695 INFO L290 TraceCheckUtils]: 38: Hoare triple {6239#(or (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 main_~y~0)) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0))} assume !!(0 != ~y~0); {6235#(or (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 main_~y~0)) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-28 14:24:43,696 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6009#true} {6239#(or (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 main_~y~0)) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0))} #67#return; {6239#(or (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 main_~y~0)) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0))} is VALID [2022-04-28 14:24:43,696 INFO L290 TraceCheckUtils]: 36: Hoare triple {6009#true} assume true; {6009#true} is VALID [2022-04-28 14:24:43,696 INFO L290 TraceCheckUtils]: 35: Hoare triple {6009#true} assume !(0 == ~cond); {6009#true} is VALID [2022-04-28 14:24:43,696 INFO L290 TraceCheckUtils]: 34: Hoare triple {6009#true} ~cond := #in~cond; {6009#true} is VALID [2022-04-28 14:24:43,696 INFO L272 TraceCheckUtils]: 33: Hoare triple {6239#(or (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 main_~y~0)) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6009#true} is VALID [2022-04-28 14:24:43,697 INFO L290 TraceCheckUtils]: 32: Hoare triple {6239#(or (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 main_~y~0)) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0))} assume !false; {6239#(or (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 main_~y~0)) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0))} is VALID [2022-04-28 14:24:43,698 INFO L290 TraceCheckUtils]: 31: Hoare triple {6261#(and (or (= (div main_~y~0 2) 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))) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div main_~y~0 2)))) (or (not (< main_~y~0 0)) (= (+ (div main_~y~0 2) 1) 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); {6239#(or (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 main_~y~0)) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0))} is VALID [2022-04-28 14:24:43,700 INFO L290 TraceCheckUtils]: 30: Hoare triple {6265#(or (= (mod (div (div (+ (- 1) main_~y~0) 2) 2) 2) 1) (= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0) (= (mod (div (+ (- 1) main_~y~0) 2) 2) 1))} 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; {6261#(and (or (= (div main_~y~0 2) 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))) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div main_~y~0 2)))) (or (not (< main_~y~0 0)) (= (+ (div main_~y~0 2) 1) 0)))} is VALID [2022-04-28 14:24:43,701 INFO L290 TraceCheckUtils]: 29: Hoare triple {6265#(or (= (mod (div (div (+ (- 1) main_~y~0) 2) 2) 2) 1) (= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0) (= (mod (div (+ (- 1) main_~y~0) 2) 2) 1))} assume !!(0 != ~y~0); {6265#(or (= (mod (div (div (+ (- 1) main_~y~0) 2) 2) 2) 1) (= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0) (= (mod (div (+ (- 1) main_~y~0) 2) 2) 1))} is VALID [2022-04-28 14:24:43,702 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6009#true} {6265#(or (= (mod (div (div (+ (- 1) main_~y~0) 2) 2) 2) 1) (= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0) (= (mod (div (+ (- 1) main_~y~0) 2) 2) 1))} #67#return; {6265#(or (= (mod (div (div (+ (- 1) main_~y~0) 2) 2) 2) 1) (= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0) (= (mod (div (+ (- 1) main_~y~0) 2) 2) 1))} is VALID [2022-04-28 14:24:43,702 INFO L290 TraceCheckUtils]: 27: Hoare triple {6009#true} assume true; {6009#true} is VALID [2022-04-28 14:24:43,702 INFO L290 TraceCheckUtils]: 26: Hoare triple {6009#true} assume !(0 == ~cond); {6009#true} is VALID [2022-04-28 14:24:43,702 INFO L290 TraceCheckUtils]: 25: Hoare triple {6009#true} ~cond := #in~cond; {6009#true} is VALID [2022-04-28 14:24:43,702 INFO L272 TraceCheckUtils]: 24: Hoare triple {6265#(or (= (mod (div (div (+ (- 1) main_~y~0) 2) 2) 2) 1) (= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0) (= (mod (div (+ (- 1) main_~y~0) 2) 2) 1))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6009#true} is VALID [2022-04-28 14:24:43,702 INFO L290 TraceCheckUtils]: 23: Hoare triple {6265#(or (= (mod (div (div (+ (- 1) main_~y~0) 2) 2) 2) 1) (= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0) (= (mod (div (+ (- 1) main_~y~0) 2) 2) 1))} assume !false; {6265#(or (= (mod (div (div (+ (- 1) main_~y~0) 2) 2) 2) 1) (= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0) (= (mod (div (+ (- 1) main_~y~0) 2) 2) 1))} is VALID [2022-04-28 14:24:43,704 INFO L290 TraceCheckUtils]: 22: Hoare triple {6290#(<= (div (* (- 1) (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2))) (- 2)) 1)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {6265#(or (= (mod (div (div (+ (- 1) main_~y~0) 2) 2) 2) 1) (= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0) (= (mod (div (+ (- 1) main_~y~0) 2) 2) 1))} is VALID [2022-04-28 14:24:43,704 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6009#true} {6290#(<= (div (* (- 1) (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2))) (- 2)) 1)} #65#return; {6290#(<= (div (* (- 1) (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2))) (- 2)) 1)} is VALID [2022-04-28 14:24:43,705 INFO L290 TraceCheckUtils]: 20: Hoare triple {6009#true} assume true; {6009#true} is VALID [2022-04-28 14:24:43,705 INFO L290 TraceCheckUtils]: 19: Hoare triple {6009#true} assume !(0 == ~cond); {6009#true} is VALID [2022-04-28 14:24:43,705 INFO L290 TraceCheckUtils]: 18: Hoare triple {6009#true} ~cond := #in~cond; {6009#true} is VALID [2022-04-28 14:24:43,705 INFO L272 TraceCheckUtils]: 17: Hoare triple {6290#(<= (div (* (- 1) (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2))) (- 2)) 1)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {6009#true} is VALID [2022-04-28 14:24:43,706 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6057#(not (= |assume_abort_if_not_#in~cond| 0))} {6009#true} #63#return; {6290#(<= (div (* (- 1) (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2))) (- 2)) 1)} is VALID [2022-04-28 14:24:43,706 INFO L290 TraceCheckUtils]: 15: Hoare triple {6057#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6057#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:24:43,706 INFO L290 TraceCheckUtils]: 14: Hoare triple {6318#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {6057#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:24:43,707 INFO L290 TraceCheckUtils]: 13: Hoare triple {6009#true} ~cond := #in~cond; {6318#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 14:24:43,707 INFO L272 TraceCheckUtils]: 12: Hoare triple {6009#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {6009#true} is VALID [2022-04-28 14:24:43,707 INFO L290 TraceCheckUtils]: 11: Hoare triple {6009#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {6009#true} is VALID [2022-04-28 14:24:43,707 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6009#true} {6009#true} #61#return; {6009#true} is VALID [2022-04-28 14:24:43,707 INFO L290 TraceCheckUtils]: 9: Hoare triple {6009#true} assume true; {6009#true} is VALID [2022-04-28 14:24:43,707 INFO L290 TraceCheckUtils]: 8: Hoare triple {6009#true} assume !(0 == ~cond); {6009#true} is VALID [2022-04-28 14:24:43,707 INFO L290 TraceCheckUtils]: 7: Hoare triple {6009#true} ~cond := #in~cond; {6009#true} is VALID [2022-04-28 14:24:43,708 INFO L272 TraceCheckUtils]: 6: Hoare triple {6009#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {6009#true} is VALID [2022-04-28 14:24:43,708 INFO L290 TraceCheckUtils]: 5: Hoare triple {6009#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; {6009#true} is VALID [2022-04-28 14:24:43,708 INFO L272 TraceCheckUtils]: 4: Hoare triple {6009#true} call #t~ret6 := main(); {6009#true} is VALID [2022-04-28 14:24:43,708 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6009#true} {6009#true} #71#return; {6009#true} is VALID [2022-04-28 14:24:43,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {6009#true} assume true; {6009#true} is VALID [2022-04-28 14:24:43,708 INFO L290 TraceCheckUtils]: 1: Hoare triple {6009#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); {6009#true} is VALID [2022-04-28 14:24:43,708 INFO L272 TraceCheckUtils]: 0: Hoare triple {6009#true} call ULTIMATE.init(); {6009#true} is VALID [2022-04-28 14:24:43,708 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 22 proven. 11 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 14:24:43,709 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:24:43,709 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1814512416] [2022-04-28 14:24:43,709 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:24:43,709 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2069509655] [2022-04-28 14:24:43,709 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2069509655] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:24:43,709 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:24:43,709 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 22 [2022-04-28 14:24:43,709 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:24:43,709 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1742639498] [2022-04-28 14:24:43,709 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1742639498] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:24:43,709 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:24:43,710 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 14:24:43,710 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [450372775] [2022-04-28 14:24:43,710 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:24:43,710 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 55 [2022-04-28 14:24:43,710 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:24:43,710 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 14:24:43,757 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:24:43,757 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 14:24:43,757 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:24:43,757 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 14:24:43,758 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=109, Invalid=353, Unknown=0, NotChecked=0, Total=462 [2022-04-28 14:24:43,758 INFO L87 Difference]: Start difference. First operand 70 states and 78 transitions. Second operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 14:24:44,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:24:44,409 INFO L93 Difference]: Finished difference Result 103 states and 118 transitions. [2022-04-28 14:24:44,409 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 14:24:44,409 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 55 [2022-04-28 14:24:44,409 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:24:44,409 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 14:24:44,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 59 transitions. [2022-04-28 14:24:44,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 14:24:44,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 59 transitions. [2022-04-28 14:24:44,412 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 59 transitions. [2022-04-28 14:24:44,478 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:24:44,479 INFO L225 Difference]: With dead ends: 103 [2022-04-28 14:24:44,479 INFO L226 Difference]: Without dead ends: 80 [2022-04-28 14:24:44,480 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 88 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 2 DeprecatedPredicates, 208 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=158, Invalid=598, Unknown=0, NotChecked=0, Total=756 [2022-04-28 14:24:44,480 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 16 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 148 SdHoareTripleChecker+Invalid, 158 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 18 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 14:24:44,480 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 148 Invalid, 158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 126 Invalid, 0 Unknown, 18 Unchecked, 0.1s Time] [2022-04-28 14:24:44,481 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-04-28 14:24:44,644 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 77. [2022-04-28 14:24:44,644 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:24:44,644 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand has 77 states, 55 states have (on average 1.0727272727272728) internal successors, (59), 57 states have internal predecessors, (59), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 14:24:44,644 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand has 77 states, 55 states have (on average 1.0727272727272728) internal successors, (59), 57 states have internal predecessors, (59), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 14:24:44,645 INFO L87 Difference]: Start difference. First operand 80 states. Second operand has 77 states, 55 states have (on average 1.0727272727272728) internal successors, (59), 57 states have internal predecessors, (59), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 14:24:44,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:24:44,649 INFO L93 Difference]: Finished difference Result 80 states and 90 transitions. [2022-04-28 14:24:44,649 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 90 transitions. [2022-04-28 14:24:44,649 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:24:44,649 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:24:44,650 INFO L74 IsIncluded]: Start isIncluded. First operand has 77 states, 55 states have (on average 1.0727272727272728) internal successors, (59), 57 states have internal predecessors, (59), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) Second operand 80 states. [2022-04-28 14:24:44,650 INFO L87 Difference]: Start difference. First operand has 77 states, 55 states have (on average 1.0727272727272728) internal successors, (59), 57 states have internal predecessors, (59), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) Second operand 80 states. [2022-04-28 14:24:44,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:24:44,652 INFO L93 Difference]: Finished difference Result 80 states and 90 transitions. [2022-04-28 14:24:44,652 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 90 transitions. [2022-04-28 14:24:44,652 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:24:44,652 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:24:44,652 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:24:44,653 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:24:44,653 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 77 states, 55 states have (on average 1.0727272727272728) internal successors, (59), 57 states have internal predecessors, (59), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 14:24:44,654 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 86 transitions. [2022-04-28 14:24:44,654 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 86 transitions. Word has length 55 [2022-04-28 14:24:44,655 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:24:44,655 INFO L495 AbstractCegarLoop]: Abstraction has 77 states and 86 transitions. [2022-04-28 14:24:44,655 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 14:24:44,655 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 77 states and 86 transitions. [2022-04-28 14:24:49,569 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 84 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 14:24:49,569 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 86 transitions. [2022-04-28 14:24:49,570 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 14:24:49,570 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:24:49,570 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:24:49,586 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-28 14:24:49,771 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:24:49,772 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:24:49,772 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:24:49,772 INFO L85 PathProgramCache]: Analyzing trace with hash 179886322, now seen corresponding path program 9 times [2022-04-28 14:24:49,772 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:24:49,772 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [254768057] [2022-04-28 14:24:49,772 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:24:49,772 INFO L85 PathProgramCache]: Analyzing trace with hash 179886322, now seen corresponding path program 10 times [2022-04-28 14:24:49,772 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:24:49,773 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [806995537] [2022-04-28 14:24:49,773 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:24:49,773 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:24:49,788 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:24:49,788 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [242971191] [2022-04-28 14:24:49,789 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:24:49,789 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:24:49,789 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:24:49,790 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:24:49,790 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:24:49,833 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:24:49,833 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:24:49,834 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-28 14:24:49,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:24:49,853 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:24:53,685 INFO L272 TraceCheckUtils]: 0: Hoare triple {6894#true} call ULTIMATE.init(); {6894#true} is VALID [2022-04-28 14:24:53,685 INFO L290 TraceCheckUtils]: 1: Hoare triple {6894#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); {6894#true} is VALID [2022-04-28 14:24:53,685 INFO L290 TraceCheckUtils]: 2: Hoare triple {6894#true} assume true; {6894#true} is VALID [2022-04-28 14:24:53,685 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6894#true} {6894#true} #71#return; {6894#true} is VALID [2022-04-28 14:24:53,685 INFO L272 TraceCheckUtils]: 4: Hoare triple {6894#true} call #t~ret6 := main(); {6894#true} is VALID [2022-04-28 14:24:53,685 INFO L290 TraceCheckUtils]: 5: Hoare triple {6894#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; {6894#true} is VALID [2022-04-28 14:24:53,685 INFO L272 TraceCheckUtils]: 6: Hoare triple {6894#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {6894#true} is VALID [2022-04-28 14:24:53,686 INFO L290 TraceCheckUtils]: 7: Hoare triple {6894#true} ~cond := #in~cond; {6920#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:24:53,686 INFO L290 TraceCheckUtils]: 8: Hoare triple {6920#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6924#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:24:53,686 INFO L290 TraceCheckUtils]: 9: Hoare triple {6924#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6924#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:24:53,687 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6924#(not (= |assume_abort_if_not_#in~cond| 0))} {6894#true} #61#return; {6931#(and (<= 0 main_~a~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:24:53,687 INFO L290 TraceCheckUtils]: 11: Hoare triple {6931#(and (<= 0 main_~a~0) (<= main_~a~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {6931#(and (<= 0 main_~a~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:24:53,687 INFO L272 TraceCheckUtils]: 12: Hoare triple {6931#(and (<= 0 main_~a~0) (<= main_~a~0 5))} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {6894#true} is VALID [2022-04-28 14:24:53,688 INFO L290 TraceCheckUtils]: 13: Hoare triple {6894#true} ~cond := #in~cond; {6920#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:24:53,688 INFO L290 TraceCheckUtils]: 14: Hoare triple {6920#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6924#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:24:53,688 INFO L290 TraceCheckUtils]: 15: Hoare triple {6924#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6924#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:24:53,689 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6924#(not (= |assume_abort_if_not_#in~cond| 0))} {6931#(and (<= 0 main_~a~0) (<= main_~a~0 5))} #63#return; {6950#(and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:24:53,689 INFO L272 TraceCheckUtils]: 17: Hoare triple {6950#(and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {6894#true} is VALID [2022-04-28 14:24:53,689 INFO L290 TraceCheckUtils]: 18: Hoare triple {6894#true} ~cond := #in~cond; {6894#true} is VALID [2022-04-28 14:24:53,689 INFO L290 TraceCheckUtils]: 19: Hoare triple {6894#true} assume !(0 == ~cond); {6894#true} is VALID [2022-04-28 14:24:53,689 INFO L290 TraceCheckUtils]: 20: Hoare triple {6894#true} assume true; {6894#true} is VALID [2022-04-28 14:24:53,689 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6894#true} {6950#(and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5))} #65#return; {6950#(and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:24:53,690 INFO L290 TraceCheckUtils]: 22: Hoare triple {6950#(and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {6969#(and (= main_~z~0 0) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:24:53,690 INFO L290 TraceCheckUtils]: 23: Hoare triple {6969#(and (= main_~z~0 0) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} assume !false; {6969#(and (= main_~z~0 0) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:24:53,690 INFO L272 TraceCheckUtils]: 24: Hoare triple {6969#(and (= main_~z~0 0) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6894#true} is VALID [2022-04-28 14:24:53,690 INFO L290 TraceCheckUtils]: 25: Hoare triple {6894#true} ~cond := #in~cond; {6894#true} is VALID [2022-04-28 14:24:53,690 INFO L290 TraceCheckUtils]: 26: Hoare triple {6894#true} assume !(0 == ~cond); {6894#true} is VALID [2022-04-28 14:24:53,690 INFO L290 TraceCheckUtils]: 27: Hoare triple {6894#true} assume true; {6894#true} is VALID [2022-04-28 14:24:53,691 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6894#true} {6969#(and (= main_~z~0 0) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} #67#return; {6969#(and (= main_~z~0 0) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:24:53,691 INFO L290 TraceCheckUtils]: 29: Hoare triple {6969#(and (= main_~z~0 0) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {6991#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:24:53,692 INFO L290 TraceCheckUtils]: 30: Hoare triple {6991#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= 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)); {6995#(and (= main_~z~0 0) (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:24:53,692 INFO L290 TraceCheckUtils]: 31: Hoare triple {6995#(and (= main_~z~0 0) (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 5) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5) (= 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); {6999#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:24:53,693 INFO L290 TraceCheckUtils]: 32: Hoare triple {6999#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} assume !false; {6999#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:24:53,693 INFO L272 TraceCheckUtils]: 33: Hoare triple {6999#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6894#true} is VALID [2022-04-28 14:24:53,693 INFO L290 TraceCheckUtils]: 34: Hoare triple {6894#true} ~cond := #in~cond; {6894#true} is VALID [2022-04-28 14:24:53,693 INFO L290 TraceCheckUtils]: 35: Hoare triple {6894#true} assume !(0 == ~cond); {6894#true} is VALID [2022-04-28 14:24:53,693 INFO L290 TraceCheckUtils]: 36: Hoare triple {6894#true} assume true; {6894#true} is VALID [2022-04-28 14:24:53,693 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6894#true} {6999#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} #67#return; {6999#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:24:53,694 INFO L290 TraceCheckUtils]: 38: Hoare triple {6999#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} assume !!(0 != ~y~0); {6999#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:24:53,695 INFO L290 TraceCheckUtils]: 39: Hoare triple {6999#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {7024#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:24:53,696 INFO L290 TraceCheckUtils]: 40: Hoare triple {7024#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 5) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {7028#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:24:53,697 INFO L290 TraceCheckUtils]: 41: Hoare triple {7028#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} assume !false; {7028#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:24:53,697 INFO L272 TraceCheckUtils]: 42: Hoare triple {7028#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6894#true} is VALID [2022-04-28 14:24:53,697 INFO L290 TraceCheckUtils]: 43: Hoare triple {6894#true} ~cond := #in~cond; {7038#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:24:53,697 INFO L290 TraceCheckUtils]: 44: Hoare triple {7038#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7042#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:24:53,697 INFO L290 TraceCheckUtils]: 45: Hoare triple {7042#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7042#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:24:53,698 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7042#(not (= |__VERIFIER_assert_#in~cond| 0))} {7028#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} #67#return; {7028#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:24:53,698 INFO L290 TraceCheckUtils]: 47: Hoare triple {7028#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} assume !!(0 != ~y~0); {7028#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} is VALID [2022-04-28 14:24:53,700 INFO L290 TraceCheckUtils]: 48: Hoare triple {7028#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~a~0 5))} 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; {7055#(and (= main_~z~0 main_~x~0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (not (= main_~b~0 0)) (= (+ main_~y~0 1) (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 0 (div (div main_~b~0 2) 2)) (<= main_~a~0 5))} is VALID [2022-04-28 14:24:53,701 INFO L290 TraceCheckUtils]: 49: Hoare triple {7055#(and (= main_~z~0 main_~x~0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (not (= main_~b~0 0)) (= (+ main_~y~0 1) (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 0 (div (div main_~b~0 2) 2)) (<= main_~a~0 5))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {7059#(and (= main_~y~0 (div (+ (- 1) (div (div main_~b~0 2) 2)) 2)) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= (* main_~a~0 4) main_~z~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div (div main_~b~0 2) 2)) (<= main_~a~0 5))} is VALID [2022-04-28 14:24:53,701 INFO L290 TraceCheckUtils]: 50: Hoare triple {7059#(and (= main_~y~0 (div (+ (- 1) (div (div main_~b~0 2) 2)) 2)) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= (* main_~a~0 4) main_~z~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div (div main_~b~0 2) 2)) (<= main_~a~0 5))} assume !false; {7059#(and (= main_~y~0 (div (+ (- 1) (div (div main_~b~0 2) 2)) 2)) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= (* main_~a~0 4) main_~z~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div (div main_~b~0 2) 2)) (<= main_~a~0 5))} is VALID [2022-04-28 14:24:53,705 INFO L272 TraceCheckUtils]: 51: Hoare triple {7059#(and (= main_~y~0 (div (+ (- 1) (div (div main_~b~0 2) 2)) 2)) (not (= (mod (div main_~b~0 2) 2) 1)) (<= main_~b~0 5) (<= 0 main_~a~0) (= (* main_~a~0 4) main_~z~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div (div main_~b~0 2) 2)) (<= main_~a~0 5))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {7066#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:24:53,705 INFO L290 TraceCheckUtils]: 52: Hoare triple {7066#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7070#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:24:53,706 INFO L290 TraceCheckUtils]: 53: Hoare triple {7070#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6895#false} is VALID [2022-04-28 14:24:53,706 INFO L290 TraceCheckUtils]: 54: Hoare triple {6895#false} assume !false; {6895#false} is VALID [2022-04-28 14:24:53,706 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 11 proven. 28 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:24:53,706 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:25:37,205 INFO L290 TraceCheckUtils]: 54: Hoare triple {6895#false} assume !false; {6895#false} is VALID [2022-04-28 14:25:37,206 INFO L290 TraceCheckUtils]: 53: Hoare triple {7070#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6895#false} is VALID [2022-04-28 14:25:37,206 INFO L290 TraceCheckUtils]: 52: Hoare triple {7066#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7070#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:25:37,207 INFO L272 TraceCheckUtils]: 51: Hoare triple {7086#(= (+ 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)); {7066#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:25:37,207 INFO L290 TraceCheckUtils]: 50: Hoare triple {7086#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {7086#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:25:37,212 INFO L290 TraceCheckUtils]: 49: Hoare triple {7093#(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); {7086#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:25:37,214 INFO L290 TraceCheckUtils]: 48: Hoare triple {7097#(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; {7093#(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:25:37,215 INFO L290 TraceCheckUtils]: 47: Hoare triple {7097#(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); {7097#(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:25:37,367 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7042#(not (= |__VERIFIER_assert_#in~cond| 0))} {6894#true} #67#return; {7097#(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:25:37,367 INFO L290 TraceCheckUtils]: 45: Hoare triple {7042#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7042#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:25:37,368 INFO L290 TraceCheckUtils]: 44: Hoare triple {7113#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7042#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:25:37,368 INFO L290 TraceCheckUtils]: 43: Hoare triple {6894#true} ~cond := #in~cond; {7113#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:25:37,368 INFO L272 TraceCheckUtils]: 42: Hoare triple {6894#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6894#true} is VALID [2022-04-28 14:25:37,368 INFO L290 TraceCheckUtils]: 41: Hoare triple {6894#true} assume !false; {6894#true} is VALID [2022-04-28 14:25:37,368 INFO L290 TraceCheckUtils]: 40: Hoare triple {6894#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); {6894#true} is VALID [2022-04-28 14:25:37,368 INFO L290 TraceCheckUtils]: 39: Hoare triple {6894#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6894#true} is VALID [2022-04-28 14:25:37,368 INFO L290 TraceCheckUtils]: 38: Hoare triple {6894#true} assume !!(0 != ~y~0); {6894#true} is VALID [2022-04-28 14:25:37,368 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6894#true} {6894#true} #67#return; {6894#true} is VALID [2022-04-28 14:25:37,368 INFO L290 TraceCheckUtils]: 36: Hoare triple {6894#true} assume true; {6894#true} is VALID [2022-04-28 14:25:37,369 INFO L290 TraceCheckUtils]: 35: Hoare triple {6894#true} assume !(0 == ~cond); {6894#true} is VALID [2022-04-28 14:25:37,369 INFO L290 TraceCheckUtils]: 34: Hoare triple {6894#true} ~cond := #in~cond; {6894#true} is VALID [2022-04-28 14:25:37,369 INFO L272 TraceCheckUtils]: 33: Hoare triple {6894#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6894#true} is VALID [2022-04-28 14:25:37,369 INFO L290 TraceCheckUtils]: 32: Hoare triple {6894#true} assume !false; {6894#true} is VALID [2022-04-28 14:25:37,369 INFO L290 TraceCheckUtils]: 31: Hoare triple {6894#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); {6894#true} is VALID [2022-04-28 14:25:37,369 INFO L290 TraceCheckUtils]: 30: Hoare triple {6894#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6894#true} is VALID [2022-04-28 14:25:37,369 INFO L290 TraceCheckUtils]: 29: Hoare triple {6894#true} assume !!(0 != ~y~0); {6894#true} is VALID [2022-04-28 14:25:37,369 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6894#true} {6894#true} #67#return; {6894#true} is VALID [2022-04-28 14:25:37,369 INFO L290 TraceCheckUtils]: 27: Hoare triple {6894#true} assume true; {6894#true} is VALID [2022-04-28 14:25:37,369 INFO L290 TraceCheckUtils]: 26: Hoare triple {6894#true} assume !(0 == ~cond); {6894#true} is VALID [2022-04-28 14:25:37,369 INFO L290 TraceCheckUtils]: 25: Hoare triple {6894#true} ~cond := #in~cond; {6894#true} is VALID [2022-04-28 14:25:37,369 INFO L272 TraceCheckUtils]: 24: Hoare triple {6894#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6894#true} is VALID [2022-04-28 14:25:37,369 INFO L290 TraceCheckUtils]: 23: Hoare triple {6894#true} assume !false; {6894#true} is VALID [2022-04-28 14:25:37,369 INFO L290 TraceCheckUtils]: 22: Hoare triple {6894#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {6894#true} is VALID [2022-04-28 14:25:37,369 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6894#true} {6894#true} #65#return; {6894#true} is VALID [2022-04-28 14:25:37,369 INFO L290 TraceCheckUtils]: 20: Hoare triple {6894#true} assume true; {6894#true} is VALID [2022-04-28 14:25:37,369 INFO L290 TraceCheckUtils]: 19: Hoare triple {6894#true} assume !(0 == ~cond); {6894#true} is VALID [2022-04-28 14:25:37,370 INFO L290 TraceCheckUtils]: 18: Hoare triple {6894#true} ~cond := #in~cond; {6894#true} is VALID [2022-04-28 14:25:37,370 INFO L272 TraceCheckUtils]: 17: Hoare triple {6894#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {6894#true} is VALID [2022-04-28 14:25:37,370 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6894#true} {6894#true} #63#return; {6894#true} is VALID [2022-04-28 14:25:37,370 INFO L290 TraceCheckUtils]: 15: Hoare triple {6894#true} assume true; {6894#true} is VALID [2022-04-28 14:25:37,370 INFO L290 TraceCheckUtils]: 14: Hoare triple {6894#true} assume !(0 == ~cond); {6894#true} is VALID [2022-04-28 14:25:37,370 INFO L290 TraceCheckUtils]: 13: Hoare triple {6894#true} ~cond := #in~cond; {6894#true} is VALID [2022-04-28 14:25:37,370 INFO L272 TraceCheckUtils]: 12: Hoare triple {6894#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {6894#true} is VALID [2022-04-28 14:25:37,370 INFO L290 TraceCheckUtils]: 11: Hoare triple {6894#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {6894#true} is VALID [2022-04-28 14:25:37,370 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6894#true} {6894#true} #61#return; {6894#true} is VALID [2022-04-28 14:25:37,370 INFO L290 TraceCheckUtils]: 9: Hoare triple {6894#true} assume true; {6894#true} is VALID [2022-04-28 14:25:37,370 INFO L290 TraceCheckUtils]: 8: Hoare triple {6894#true} assume !(0 == ~cond); {6894#true} is VALID [2022-04-28 14:25:37,370 INFO L290 TraceCheckUtils]: 7: Hoare triple {6894#true} ~cond := #in~cond; {6894#true} is VALID [2022-04-28 14:25:37,370 INFO L272 TraceCheckUtils]: 6: Hoare triple {6894#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {6894#true} is VALID [2022-04-28 14:25:37,370 INFO L290 TraceCheckUtils]: 5: Hoare triple {6894#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; {6894#true} is VALID [2022-04-28 14:25:37,370 INFO L272 TraceCheckUtils]: 4: Hoare triple {6894#true} call #t~ret6 := main(); {6894#true} is VALID [2022-04-28 14:25:37,370 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6894#true} {6894#true} #71#return; {6894#true} is VALID [2022-04-28 14:25:37,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {6894#true} assume true; {6894#true} is VALID [2022-04-28 14:25:37,371 INFO L290 TraceCheckUtils]: 1: Hoare triple {6894#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); {6894#true} is VALID [2022-04-28 14:25:37,371 INFO L272 TraceCheckUtils]: 0: Hoare triple {6894#true} call ULTIMATE.init(); {6894#true} is VALID [2022-04-28 14:25:37,371 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:37,371 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:25:37,371 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [806995537] [2022-04-28 14:25:37,371 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:25:37,371 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [242971191] [2022-04-28 14:25:37,371 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [242971191] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:25:37,371 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:25:37,371 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 9] total 22 [2022-04-28 14:25:37,371 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:25:37,371 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [254768057] [2022-04-28 14:25:37,372 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [254768057] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:25:37,372 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:25:37,372 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 14:25:37,372 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1384405387] [2022-04-28 14:25:37,372 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:25:37,372 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 16 states have internal predecessors, (33), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) Word has length 55 [2022-04-28 14:25:37,372 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:25:37,372 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 16 states have internal predecessors, (33), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 14:25:37,436 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:25:37,436 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 14:25:37,436 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:25:37,437 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 14:25:37,437 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=375, Unknown=0, NotChecked=0, Total=462 [2022-04-28 14:25:37,437 INFO L87 Difference]: Start difference. First operand 77 states and 86 transitions. Second operand has 18 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 16 states have internal predecessors, (33), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 14:25:38,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:25:38,777 INFO L93 Difference]: Finished difference Result 111 states and 122 transitions. [2022-04-28 14:25:38,777 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 14:25:38,778 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 16 states have internal predecessors, (33), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) Word has length 55 [2022-04-28 14:25:38,778 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:25:38,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 16 states have internal predecessors, (33), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 14:25:38,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 69 transitions. [2022-04-28 14:25:38,779 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 16 states have internal predecessors, (33), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 14:25:38,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 69 transitions. [2022-04-28 14:25:38,790 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 69 transitions. [2022-04-28 14:25:38,854 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:25:38,855 INFO L225 Difference]: With dead ends: 111 [2022-04-28 14:25:38,855 INFO L226 Difference]: Without dead ends: 64 [2022-04-28 14:25:38,856 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 86 SyntacticMatches, 3 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 155 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=104, Invalid=496, Unknown=0, NotChecked=0, Total=600 [2022-04-28 14:25:38,856 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 24 mSDsluCounter, 178 mSDsCounter, 0 mSdLazyCounter, 390 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 201 SdHoareTripleChecker+Invalid, 404 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 390 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 14:25:38,856 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [27 Valid, 201 Invalid, 404 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 390 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 14:25:38,857 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-28 14:25:38,966 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 64. [2022-04-28 14:25:38,966 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:25:38,966 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 64 states, 45 states have (on average 1.0444444444444445) internal successors, (47), 46 states have internal predecessors, (47), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 14:25:38,966 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 64 states, 45 states have (on average 1.0444444444444445) internal successors, (47), 46 states have internal predecessors, (47), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 14:25:38,967 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 64 states, 45 states have (on average 1.0444444444444445) internal successors, (47), 46 states have internal predecessors, (47), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 14:25:38,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:25:38,968 INFO L93 Difference]: Finished difference Result 64 states and 68 transitions. [2022-04-28 14:25:38,968 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 68 transitions. [2022-04-28 14:25:38,968 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:25:38,968 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:25:38,969 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 45 states have (on average 1.0444444444444445) internal successors, (47), 46 states have internal predecessors, (47), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 64 states. [2022-04-28 14:25:38,969 INFO L87 Difference]: Start difference. First operand has 64 states, 45 states have (on average 1.0444444444444445) internal successors, (47), 46 states have internal predecessors, (47), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 64 states. [2022-04-28 14:25:38,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:25:38,970 INFO L93 Difference]: Finished difference Result 64 states and 68 transitions. [2022-04-28 14:25:38,970 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 68 transitions. [2022-04-28 14:25:38,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:25:38,971 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:25:38,971 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:25:38,971 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:25:38,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 45 states have (on average 1.0444444444444445) internal successors, (47), 46 states have internal predecessors, (47), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 14:25:38,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 68 transitions. [2022-04-28 14:25:38,972 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 68 transitions. Word has length 55 [2022-04-28 14:25:38,972 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:25:38,972 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 68 transitions. [2022-04-28 14:25:38,973 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 16 states have internal predecessors, (33), 7 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 14:25:38,973 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 68 transitions. [2022-04-28 14:25:39,965 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:25:39,965 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 68 transitions. [2022-04-28 14:25:39,965 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-28 14:25:39,965 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:25:39,966 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:25:39,982 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-28 14:25:40,171 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 14:25:40,171 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:25:40,172 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:25:40,172 INFO L85 PathProgramCache]: Analyzing trace with hash -1453557958, now seen corresponding path program 11 times [2022-04-28 14:25:40,172 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:25:40,172 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [816899224] [2022-04-28 14:25:40,172 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:25:40,172 INFO L85 PathProgramCache]: Analyzing trace with hash -1453557958, now seen corresponding path program 12 times [2022-04-28 14:25:40,172 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:25:40,172 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [639143618] [2022-04-28 14:25:40,172 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:25:40,173 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:25:40,184 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:25:40,184 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1216993073] [2022-04-28 14:25:40,184 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 14:25:40,184 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:25:40,184 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:25:40,185 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:25:40,192 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 14:25:40,231 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 14:25:40,231 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:25:40,232 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-28 14:25:40,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:25:40,251 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:25:58,983 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 14:26:02,587 INFO L272 TraceCheckUtils]: 0: Hoare triple {7729#true} call ULTIMATE.init(); {7729#true} is VALID [2022-04-28 14:26:02,587 INFO L290 TraceCheckUtils]: 1: Hoare triple {7729#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); {7729#true} is VALID [2022-04-28 14:26:02,587 INFO L290 TraceCheckUtils]: 2: Hoare triple {7729#true} assume true; {7729#true} is VALID [2022-04-28 14:26:02,587 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7729#true} {7729#true} #71#return; {7729#true} is VALID [2022-04-28 14:26:02,587 INFO L272 TraceCheckUtils]: 4: Hoare triple {7729#true} call #t~ret6 := main(); {7729#true} is VALID [2022-04-28 14:26:02,588 INFO L290 TraceCheckUtils]: 5: Hoare triple {7729#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; {7729#true} is VALID [2022-04-28 14:26:02,588 INFO L272 TraceCheckUtils]: 6: Hoare triple {7729#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {7729#true} is VALID [2022-04-28 14:26:02,588 INFO L290 TraceCheckUtils]: 7: Hoare triple {7729#true} ~cond := #in~cond; {7729#true} is VALID [2022-04-28 14:26:02,588 INFO L290 TraceCheckUtils]: 8: Hoare triple {7729#true} assume !(0 == ~cond); {7729#true} is VALID [2022-04-28 14:26:02,588 INFO L290 TraceCheckUtils]: 9: Hoare triple {7729#true} assume true; {7729#true} is VALID [2022-04-28 14:26:02,588 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7729#true} {7729#true} #61#return; {7729#true} is VALID [2022-04-28 14:26:02,588 INFO L290 TraceCheckUtils]: 11: Hoare triple {7729#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {7729#true} is VALID [2022-04-28 14:26:02,588 INFO L272 TraceCheckUtils]: 12: Hoare triple {7729#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {7729#true} is VALID [2022-04-28 14:26:02,588 INFO L290 TraceCheckUtils]: 13: Hoare triple {7729#true} ~cond := #in~cond; {7729#true} is VALID [2022-04-28 14:26:02,588 INFO L290 TraceCheckUtils]: 14: Hoare triple {7729#true} assume !(0 == ~cond); {7729#true} is VALID [2022-04-28 14:26:02,588 INFO L290 TraceCheckUtils]: 15: Hoare triple {7729#true} assume true; {7729#true} is VALID [2022-04-28 14:26:02,588 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7729#true} {7729#true} #63#return; {7729#true} is VALID [2022-04-28 14:26:02,588 INFO L272 TraceCheckUtils]: 17: Hoare triple {7729#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {7729#true} is VALID [2022-04-28 14:26:02,588 INFO L290 TraceCheckUtils]: 18: Hoare triple {7729#true} ~cond := #in~cond; {7729#true} is VALID [2022-04-28 14:26:02,588 INFO L290 TraceCheckUtils]: 19: Hoare triple {7729#true} assume !(0 == ~cond); {7729#true} is VALID [2022-04-28 14:26:02,588 INFO L290 TraceCheckUtils]: 20: Hoare triple {7729#true} assume true; {7729#true} is VALID [2022-04-28 14:26:02,589 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7729#true} {7729#true} #65#return; {7729#true} is VALID [2022-04-28 14:26:02,589 INFO L290 TraceCheckUtils]: 22: Hoare triple {7729#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {7800#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:26:02,589 INFO L290 TraceCheckUtils]: 23: Hoare triple {7800#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {7800#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:26:02,589 INFO L272 TraceCheckUtils]: 24: Hoare triple {7800#(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)); {7729#true} is VALID [2022-04-28 14:26:02,589 INFO L290 TraceCheckUtils]: 25: Hoare triple {7729#true} ~cond := #in~cond; {7729#true} is VALID [2022-04-28 14:26:02,589 INFO L290 TraceCheckUtils]: 26: Hoare triple {7729#true} assume !(0 == ~cond); {7729#true} is VALID [2022-04-28 14:26:02,589 INFO L290 TraceCheckUtils]: 27: Hoare triple {7729#true} assume true; {7729#true} is VALID [2022-04-28 14:26:02,590 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7729#true} {7800#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {7800#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 14:26:02,590 INFO L290 TraceCheckUtils]: 29: Hoare triple {7800#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {7822#(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:26:02,591 INFO L290 TraceCheckUtils]: 30: Hoare triple {7822#(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; {7826#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:26:02,592 INFO L290 TraceCheckUtils]: 31: Hoare triple {7826#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= 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); {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:26:02,593 INFO L290 TraceCheckUtils]: 32: Hoare triple {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} assume !false; {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:26:02,593 INFO L272 TraceCheckUtils]: 33: Hoare triple {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {7729#true} is VALID [2022-04-28 14:26:02,593 INFO L290 TraceCheckUtils]: 34: Hoare triple {7729#true} ~cond := #in~cond; {7729#true} is VALID [2022-04-28 14:26:02,593 INFO L290 TraceCheckUtils]: 35: Hoare triple {7729#true} assume !(0 == ~cond); {7729#true} is VALID [2022-04-28 14:26:02,593 INFO L290 TraceCheckUtils]: 36: Hoare triple {7729#true} assume true; {7729#true} is VALID [2022-04-28 14:26:02,593 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7729#true} {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} #67#return; {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:26:02,594 INFO L290 TraceCheckUtils]: 38: Hoare triple {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} assume !!(0 != ~y~0); {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:26:02,594 INFO L290 TraceCheckUtils]: 39: Hoare triple {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:26:02,594 INFO L290 TraceCheckUtils]: 40: Hoare triple {7830#(and (<= 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); {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:26:02,595 INFO L290 TraceCheckUtils]: 41: Hoare triple {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} assume !false; {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:26:02,595 INFO L272 TraceCheckUtils]: 42: Hoare triple {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {7729#true} is VALID [2022-04-28 14:26:02,595 INFO L290 TraceCheckUtils]: 43: Hoare triple {7729#true} ~cond := #in~cond; {7729#true} is VALID [2022-04-28 14:26:02,595 INFO L290 TraceCheckUtils]: 44: Hoare triple {7729#true} assume !(0 == ~cond); {7729#true} is VALID [2022-04-28 14:26:02,595 INFO L290 TraceCheckUtils]: 45: Hoare triple {7729#true} assume true; {7729#true} is VALID [2022-04-28 14:26:02,595 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7729#true} {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} #67#return; {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:26:02,596 INFO L290 TraceCheckUtils]: 47: Hoare triple {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} assume !!(0 != ~y~0); {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:26:02,596 INFO L290 TraceCheckUtils]: 48: Hoare triple {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~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; {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:26:02,597 INFO L290 TraceCheckUtils]: 49: Hoare triple {7830#(and (<= 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); {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:26:02,597 INFO L290 TraceCheckUtils]: 50: Hoare triple {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} assume !false; {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:26:02,597 INFO L272 TraceCheckUtils]: 51: Hoare triple {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {7729#true} is VALID [2022-04-28 14:26:02,597 INFO L290 TraceCheckUtils]: 52: Hoare triple {7729#true} ~cond := #in~cond; {7894#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:26:02,597 INFO L290 TraceCheckUtils]: 53: Hoare triple {7894#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7898#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:26:02,598 INFO L290 TraceCheckUtils]: 54: Hoare triple {7898#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7898#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:26:02,598 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7898#(not (= |__VERIFIER_assert_#in~cond| 0))} {7830#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} #67#return; {7905#(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))} is VALID [2022-04-28 14:26:02,599 INFO L290 TraceCheckUtils]: 56: Hoare triple {7905#(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))} assume !!(0 != ~y~0); {7909#(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)) (<= 0 main_~b~0))} is VALID [2022-04-28 14:26:02,601 INFO L290 TraceCheckUtils]: 57: Hoare triple {7909#(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)) (<= 0 main_~b~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; {7913#(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)) (<= 0 main_~b~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 14:26:04,604 WARN L290 TraceCheckUtils]: 58: Hoare triple {7913#(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)) (<= 0 main_~b~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); {7917#(and (<= 1 (mod main_~b~0 2)) (exists ((aux_div_v_main_~y~0_83_28 Int) (aux_mod_v_main_~y~0_83_28 Int)) (and (= (div (+ (- 1) (* aux_div_v_main_~y~0_83_28 2) aux_mod_v_main_~y~0_83_28) 2) main_~y~0) (< aux_mod_v_main_~y~0_83_28 2) (= (+ (div (* (- 1) main_~x~0) (- 2)) (* main_~b~0 main_~a~0)) (+ (* (* (div (* (- 1) main_~x~0) (- 2)) aux_div_v_main_~y~0_83_28) 2) main_~z~0 (* (div (* (- 1) main_~x~0) (- 2)) aux_mod_v_main_~y~0_83_28))) (<= 0 (+ (* aux_div_v_main_~y~0_83_28 2) aux_mod_v_main_~y~0_83_28)) (<= 1 aux_mod_v_main_~y~0_83_28))) (<= 0 main_~b~0) (= (mod main_~x~0 2) 0))} is UNKNOWN [2022-04-28 14:26:05,176 INFO L290 TraceCheckUtils]: 59: Hoare triple {7917#(and (<= 1 (mod main_~b~0 2)) (exists ((aux_div_v_main_~y~0_83_28 Int) (aux_mod_v_main_~y~0_83_28 Int)) (and (= (div (+ (- 1) (* aux_div_v_main_~y~0_83_28 2) aux_mod_v_main_~y~0_83_28) 2) main_~y~0) (< aux_mod_v_main_~y~0_83_28 2) (= (+ (div (* (- 1) main_~x~0) (- 2)) (* main_~b~0 main_~a~0)) (+ (* (* (div (* (- 1) main_~x~0) (- 2)) aux_div_v_main_~y~0_83_28) 2) main_~z~0 (* (div (* (- 1) main_~x~0) (- 2)) aux_mod_v_main_~y~0_83_28))) (<= 0 (+ (* aux_div_v_main_~y~0_83_28 2) aux_mod_v_main_~y~0_83_28)) (<= 1 aux_mod_v_main_~y~0_83_28))) (<= 0 main_~b~0) (= (mod main_~x~0 2) 0))} assume !false; {7921#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:26:05,802 INFO L272 TraceCheckUtils]: 60: Hoare triple {7921#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~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)); {7925#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:26:05,803 INFO L290 TraceCheckUtils]: 61: Hoare triple {7925#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7929#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:26:05,803 INFO L290 TraceCheckUtils]: 62: Hoare triple {7929#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7730#false} is VALID [2022-04-28 14:26:05,803 INFO L290 TraceCheckUtils]: 63: Hoare triple {7730#false} assume !false; {7730#false} is VALID [2022-04-28 14:26:05,803 INFO L134 CoverageAnalysis]: Checked inductivity of 82 backedges. 28 proven. 18 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-28 14:26:05,803 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:27:30,159 INFO L290 TraceCheckUtils]: 63: Hoare triple {7730#false} assume !false; {7730#false} is VALID [2022-04-28 14:27:30,160 INFO L290 TraceCheckUtils]: 62: Hoare triple {7929#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7730#false} is VALID [2022-04-28 14:27:30,160 INFO L290 TraceCheckUtils]: 61: Hoare triple {7925#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7929#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:27:30,161 INFO L272 TraceCheckUtils]: 60: Hoare triple {7945#(= (+ 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)); {7925#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:27:30,161 INFO L290 TraceCheckUtils]: 59: Hoare triple {7945#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {7945#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:27:30,166 INFO L290 TraceCheckUtils]: 58: Hoare triple {7952#(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); {7945#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 14:27:30,168 INFO L290 TraceCheckUtils]: 57: Hoare triple {7956#(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; {7952#(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:27:30,169 INFO L290 TraceCheckUtils]: 56: Hoare triple {7956#(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); {7956#(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:27:31,626 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7898#(not (= |__VERIFIER_assert_#in~cond| 0))} {7729#true} #67#return; {7956#(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:27:31,627 INFO L290 TraceCheckUtils]: 54: Hoare triple {7898#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7898#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:27:31,627 INFO L290 TraceCheckUtils]: 53: Hoare triple {7972#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7898#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:27:31,627 INFO L290 TraceCheckUtils]: 52: Hoare triple {7729#true} ~cond := #in~cond; {7972#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:27:31,627 INFO L272 TraceCheckUtils]: 51: Hoare triple {7729#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {7729#true} is VALID [2022-04-28 14:27:31,628 INFO L290 TraceCheckUtils]: 50: Hoare triple {7729#true} assume !false; {7729#true} is VALID [2022-04-28 14:27:31,628 INFO L290 TraceCheckUtils]: 49: Hoare triple {7729#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); {7729#true} is VALID [2022-04-28 14:27:31,628 INFO L290 TraceCheckUtils]: 48: Hoare triple {7729#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; {7729#true} is VALID [2022-04-28 14:27:31,628 INFO L290 TraceCheckUtils]: 47: Hoare triple {7729#true} assume !!(0 != ~y~0); {7729#true} is VALID [2022-04-28 14:27:31,628 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7729#true} {7729#true} #67#return; {7729#true} is VALID [2022-04-28 14:27:31,628 INFO L290 TraceCheckUtils]: 45: Hoare triple {7729#true} assume true; {7729#true} is VALID [2022-04-28 14:27:31,628 INFO L290 TraceCheckUtils]: 44: Hoare triple {7729#true} assume !(0 == ~cond); {7729#true} is VALID [2022-04-28 14:27:31,628 INFO L290 TraceCheckUtils]: 43: Hoare triple {7729#true} ~cond := #in~cond; {7729#true} is VALID [2022-04-28 14:27:31,628 INFO L272 TraceCheckUtils]: 42: Hoare triple {7729#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {7729#true} is VALID [2022-04-28 14:27:31,628 INFO L290 TraceCheckUtils]: 41: Hoare triple {7729#true} assume !false; {7729#true} is VALID [2022-04-28 14:27:31,628 INFO L290 TraceCheckUtils]: 40: Hoare triple {7729#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); {7729#true} is VALID [2022-04-28 14:27:31,628 INFO L290 TraceCheckUtils]: 39: Hoare triple {7729#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {7729#true} is VALID [2022-04-28 14:27:31,628 INFO L290 TraceCheckUtils]: 38: Hoare triple {7729#true} assume !!(0 != ~y~0); {7729#true} is VALID [2022-04-28 14:27:31,628 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7729#true} {7729#true} #67#return; {7729#true} is VALID [2022-04-28 14:27:31,628 INFO L290 TraceCheckUtils]: 36: Hoare triple {7729#true} assume true; {7729#true} is VALID [2022-04-28 14:27:31,628 INFO L290 TraceCheckUtils]: 35: Hoare triple {7729#true} assume !(0 == ~cond); {7729#true} is VALID [2022-04-28 14:27:31,629 INFO L290 TraceCheckUtils]: 34: Hoare triple {7729#true} ~cond := #in~cond; {7729#true} is VALID [2022-04-28 14:27:31,629 INFO L272 TraceCheckUtils]: 33: Hoare triple {7729#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {7729#true} is VALID [2022-04-28 14:27:31,629 INFO L290 TraceCheckUtils]: 32: Hoare triple {7729#true} assume !false; {7729#true} is VALID [2022-04-28 14:27:31,629 INFO L290 TraceCheckUtils]: 31: Hoare triple {7729#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); {7729#true} is VALID [2022-04-28 14:27:31,629 INFO L290 TraceCheckUtils]: 30: Hoare triple {7729#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; {7729#true} is VALID [2022-04-28 14:27:31,629 INFO L290 TraceCheckUtils]: 29: Hoare triple {7729#true} assume !!(0 != ~y~0); {7729#true} is VALID [2022-04-28 14:27:31,629 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7729#true} {7729#true} #67#return; {7729#true} is VALID [2022-04-28 14:27:31,629 INFO L290 TraceCheckUtils]: 27: Hoare triple {7729#true} assume true; {7729#true} is VALID [2022-04-28 14:27:31,629 INFO L290 TraceCheckUtils]: 26: Hoare triple {7729#true} assume !(0 == ~cond); {7729#true} is VALID [2022-04-28 14:27:31,629 INFO L290 TraceCheckUtils]: 25: Hoare triple {7729#true} ~cond := #in~cond; {7729#true} is VALID [2022-04-28 14:27:31,629 INFO L272 TraceCheckUtils]: 24: Hoare triple {7729#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {7729#true} is VALID [2022-04-28 14:27:31,629 INFO L290 TraceCheckUtils]: 23: Hoare triple {7729#true} assume !false; {7729#true} is VALID [2022-04-28 14:27:31,629 INFO L290 TraceCheckUtils]: 22: Hoare triple {7729#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {7729#true} is VALID [2022-04-28 14:27:31,629 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7729#true} {7729#true} #65#return; {7729#true} is VALID [2022-04-28 14:27:31,629 INFO L290 TraceCheckUtils]: 20: Hoare triple {7729#true} assume true; {7729#true} is VALID [2022-04-28 14:27:31,629 INFO L290 TraceCheckUtils]: 19: Hoare triple {7729#true} assume !(0 == ~cond); {7729#true} is VALID [2022-04-28 14:27:31,629 INFO L290 TraceCheckUtils]: 18: Hoare triple {7729#true} ~cond := #in~cond; {7729#true} is VALID [2022-04-28 14:27:31,629 INFO L272 TraceCheckUtils]: 17: Hoare triple {7729#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {7729#true} is VALID [2022-04-28 14:27:31,630 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7729#true} {7729#true} #63#return; {7729#true} is VALID [2022-04-28 14:27:31,630 INFO L290 TraceCheckUtils]: 15: Hoare triple {7729#true} assume true; {7729#true} is VALID [2022-04-28 14:27:31,630 INFO L290 TraceCheckUtils]: 14: Hoare triple {7729#true} assume !(0 == ~cond); {7729#true} is VALID [2022-04-28 14:27:31,630 INFO L290 TraceCheckUtils]: 13: Hoare triple {7729#true} ~cond := #in~cond; {7729#true} is VALID [2022-04-28 14:27:31,630 INFO L272 TraceCheckUtils]: 12: Hoare triple {7729#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 5 then 1 else 0)); {7729#true} is VALID [2022-04-28 14:27:31,630 INFO L290 TraceCheckUtils]: 11: Hoare triple {7729#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {7729#true} is VALID [2022-04-28 14:27:31,630 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7729#true} {7729#true} #61#return; {7729#true} is VALID [2022-04-28 14:27:31,630 INFO L290 TraceCheckUtils]: 9: Hoare triple {7729#true} assume true; {7729#true} is VALID [2022-04-28 14:27:31,630 INFO L290 TraceCheckUtils]: 8: Hoare triple {7729#true} assume !(0 == ~cond); {7729#true} is VALID [2022-04-28 14:27:31,630 INFO L290 TraceCheckUtils]: 7: Hoare triple {7729#true} ~cond := #in~cond; {7729#true} is VALID [2022-04-28 14:27:31,630 INFO L272 TraceCheckUtils]: 6: Hoare triple {7729#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 5 then 1 else 0)); {7729#true} is VALID [2022-04-28 14:27:31,630 INFO L290 TraceCheckUtils]: 5: Hoare triple {7729#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; {7729#true} is VALID [2022-04-28 14:27:31,630 INFO L272 TraceCheckUtils]: 4: Hoare triple {7729#true} call #t~ret6 := main(); {7729#true} is VALID [2022-04-28 14:27:31,630 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7729#true} {7729#true} #71#return; {7729#true} is VALID [2022-04-28 14:27:31,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {7729#true} assume true; {7729#true} is VALID [2022-04-28 14:27:31,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {7729#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); {7729#true} is VALID [2022-04-28 14:27:31,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {7729#true} call ULTIMATE.init(); {7729#true} is VALID [2022-04-28 14:27:31,631 INFO L134 CoverageAnalysis]: Checked inductivity of 82 backedges. 33 proven. 1 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 14:27:31,631 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:27:31,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [639143618] [2022-04-28 14:27:31,631 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:27:31,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1216993073] [2022-04-28 14:27:31,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1216993073] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:27:31,631 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:27:31,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 9] total 19 [2022-04-28 14:27:31,631 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:27:31,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [816899224] [2022-04-28 14:27:31,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [816899224] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:27:31,632 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:27:31,632 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 14:27:31,632 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1946324128] [2022-04-28 14:27:31,632 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:27:31,632 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 4 states have call predecessors, (7), 3 states have call successors, (7) Word has length 64 [2022-04-28 14:27:31,632 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:27:31,632 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 4 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 14:27:32,495 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:27:32,495 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 14:27:32,496 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:27:32,496 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 14:27:32,496 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=272, Unknown=3, NotChecked=0, Total=342 [2022-04-28 14:27:32,496 INFO L87 Difference]: Start difference. First operand 64 states and 68 transitions. Second operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 4 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 14:27:35,125 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.07s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:27:45,066 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.36s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:27:58,786 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.57s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:28:01,216 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.01s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:28:18,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:28:18,097 INFO L93 Difference]: Finished difference Result 64 states and 68 transitions. [2022-04-28 14:28:18,097 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 14:28:18,098 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 4 states have call predecessors, (7), 3 states have call successors, (7) Word has length 64 [2022-04-28 14:28:18,098 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:28:18,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 4 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 14:28:18,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 40 transitions. [2022-04-28 14:28:18,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 4 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 14:28:18,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 40 transitions. [2022-04-28 14:28:18,100 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 40 transitions. [2022-04-28 14:28:23,871 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 38 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 14:28:23,871 INFO L225 Difference]: With dead ends: 64 [2022-04-28 14:28:23,871 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 14:28:23,872 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 108 SyntacticMatches, 3 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 129 ImplicationChecksByTransitivity, 25.7s TimeCoverageRelationStatistics Valid=115, Invalid=434, Unknown=3, NotChecked=0, Total=552 [2022-04-28 14:28:23,873 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 14 mSDsluCounter, 180 mSDsCounter, 0 mSdLazyCounter, 187 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 13.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 204 SdHoareTripleChecker+Invalid, 199 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 187 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 13.4s IncrementalHoareTripleChecker+Time [2022-04-28 14:28:23,873 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 204 Invalid, 199 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 187 Invalid, 0 Unknown, 0 Unchecked, 13.4s Time] [2022-04-28 14:28:23,873 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 14:28:23,873 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 14:28:23,873 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:28:23,873 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 14:28:23,874 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 14:28:23,874 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 14:28:23,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:28:23,874 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 14:28:23,874 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 14:28:23,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:28:23,874 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:28:23,874 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 14:28:23,874 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 14:28:23,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:28:23,874 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 14:28:23,874 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 14:28:23,875 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:28:23,875 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:28:23,875 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:28:23,875 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:28:23,875 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 14:28:23,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 14:28:23,875 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 64 [2022-04-28 14:28:23,875 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:28:23,875 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 14:28:23,875 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (7), 4 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 14:28:23,875 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-28 14:28:23,876 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:28:23,876 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 14:28:23,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:28:23,878 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 14:28:23,901 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 14:28:24,101 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 14:28:24,102 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 14:28:45,580 WARN L232 SmtUtils]: Spent 9.35s on a formula simplification. DAG size of input: 124 DAG size of output: 80 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-28 14:28:45,630 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 6) no Hoare annotation was computed. [2022-04-28 14:28:45,631 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 6) no Hoare annotation was computed. [2022-04-28 14:28:45,631 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 6) no Hoare annotation was computed. [2022-04-28 14:28:45,631 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 9 11) the Hoare annotation is: true [2022-04-28 14:28:45,631 INFO L895 garLoopResultBuilder]: At program point L10(line 10) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-28 14:28:45,631 INFO L895 garLoopResultBuilder]: At program point L10-2(lines 9 11) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 14:28:45,631 INFO L895 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 9 11) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 14:28:45,631 INFO L895 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (and (<= 0 main_~a~0) (<= main_~a~0 5)) [2022-04-28 14:28:45,631 INFO L895 garLoopResultBuilder]: At program point L27-1(line 27) the Hoare annotation is: (and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~a~0 5)) [2022-04-28 14:28:45,631 INFO L902 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-28 14:28:45,631 INFO L902 garLoopResultBuilder]: At program point mainEXIT(lines 20 49) the Hoare annotation is: true [2022-04-28 14:28:45,631 INFO L895 garLoopResultBuilder]: At program point L25-1(line 25) the Hoare annotation is: (and (<= 0 main_~a~0) (<= main_~a~0 5)) [2022-04-28 14:28:45,631 INFO L902 garLoopResultBuilder]: At program point L46(line 46) the Hoare annotation is: true [2022-04-28 14:28:45,632 INFO L902 garLoopResultBuilder]: At program point mainFINAL(lines 20 49) the Hoare annotation is: true [2022-04-28 14:28:45,632 INFO L895 garLoopResultBuilder]: At program point L34-2(lines 34 45) the Hoare annotation is: (let ((.cse0 (mod main_~b~0 2)) (.cse11 (div main_~b~0 2))) (let ((.cse6 (exists ((aux_mod_v_main_~y~0_65_28 Int) (aux_div_v_main_~y~0_65_28 Int)) (let ((.cse15 (* aux_div_v_main_~y~0_65_28 2))) (let ((.cse14 (+ aux_mod_v_main_~y~0_65_28 .cse15))) (and (<= 1 aux_mod_v_main_~y~0_65_28) (< aux_mod_v_main_~y~0_65_28 2) (<= .cse14 5) (<= 0 .cse14) (= main_~y~0 (div (+ (- 1) aux_mod_v_main_~y~0_65_28 .cse15) 2))))))) (.cse1 (* main_~b~0 main_~a~0)) (.cse2 (<= main_~b~0 5)) (.cse3 (<= 0 main_~a~0)) (.cse7 (div .cse11 2)) (.cse9 (not (= .cse0 1))) (.cse4 (<= 1 main_~b~0)) (.cse8 (* main_~a~0 4)) (.cse5 (<= main_~a~0 5))) (or (and (<= 1 .cse0) (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) .cse1) .cse2 .cse3 .cse4 .cse5 (= (mod main_~x~0 2) 0) .cse6) (and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) .cse1) (= main_~b~0 main_~y~0) .cse3 (<= 1 main_~y~0) .cse5 (= main_~a~0 main_~x~0) (<= main_~y~0 5)) (and (= main_~y~0 (div (+ (- 1) .cse7) 2)) .cse2 .cse3 (= .cse8 main_~z~0) .cse9 (= main_~x~0 (* main_~z~0 2)) .cse5 .cse6) (and (let ((.cse10 (= main_~z~0 0)) (.cse12 (= .cse8 main_~x~0))) (or (and (or (and .cse10 (= main_~y~0 .cse11) (= (* main_~a~0 2) main_~x~0) .cse3 .cse9) (let ((.cse13 (div (+ (- 1) main_~b~0) 2))) (and .cse12 (= .cse1 (+ (* 2 (* .cse13 main_~a~0)) main_~z~0)) .cse3 (= (div .cse13 2) main_~y~0) (not (= (mod .cse13 2) 1))))) .cse2 .cse4) (and .cse10 .cse12 (not (= (mod .cse11 2) 1)) .cse2 .cse3 (= main_~y~0 .cse7) .cse9 .cse4))) .cse5)))) [2022-04-28 14:28:45,632 INFO L895 garLoopResultBuilder]: At program point L34-3(lines 34 45) the Hoare annotation is: (and (= main_~z~0 (* main_~b~0 main_~a~0)) (<= 1 main_~b~0)) [2022-04-28 14:28:45,632 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 20 49) the Hoare annotation is: true [2022-04-28 14:28:45,632 INFO L895 garLoopResultBuilder]: At program point L28(line 28) the Hoare annotation is: (and (<= main_~b~0 5) (<= 0 main_~a~0) (<= 1 main_~b~0) (<= main_~a~0 5)) [2022-04-28 14:28:45,632 INFO L895 garLoopResultBuilder]: At program point L39(lines 39 42) the Hoare annotation is: (let ((.cse9 (mod main_~b~0 2))) (let ((.cse4 (= main_~z~0 0)) (.cse5 (div main_~b~0 2)) (.cse7 (not (= .cse9 1))) (.cse2 (<= 1 main_~b~0)) (.cse0 (* main_~b~0 main_~a~0)) (.cse6 (<= main_~b~0 5)) (.cse1 (<= 0 main_~a~0)) (.cse8 (<= 0 main_~b~0)) (.cse3 (<= main_~a~0 5))) (or (and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) .cse0) (= main_~b~0 main_~y~0) .cse1 .cse2 .cse3 (= main_~a~0 main_~x~0) (<= main_~y~0 5)) (and .cse4 (= (* main_~a~0 4) main_~x~0) (not (= (mod .cse5 2) 1)) .cse6 .cse1 (= main_~y~0 (div .cse5 2)) (not (= main_~b~0 0)) .cse7 .cse8 .cse3) (and .cse4 (= main_~y~0 .cse5) .cse6 (= (* main_~a~0 2) main_~x~0) .cse1 .cse7 .cse2 .cse3) (and (not (= main_~y~0 0)) (<= 1 .cse9) (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) .cse0) .cse6 .cse1 (< main_~y~0 3) .cse8 (< 0 (+ main_~y~0 1)) .cse3 (= (mod main_~x~0 2) 0))))) [2022-04-28 14:28:45,633 INFO L895 garLoopResultBuilder]: At program point L39-2(lines 39 42) the Hoare annotation is: (let ((.cse12 (+ main_~y~0 1)) (.cse14 (mod main_~b~0 2))) (let ((.cse0 (= main_~z~0 0)) (.cse2 (not (= (mod main_~y~0 2) 1))) (.cse10 (= main_~z~0 main_~x~0)) (.cse4 (= (* main_~a~0 2) main_~x~0)) (.cse6 (not (= .cse14 1))) (.cse1 (div main_~b~0 2)) (.cse9 (<= 1 (mod .cse12 2))) (.cse11 (<= main_~y~0 4)) (.cse3 (<= main_~b~0 5)) (.cse5 (<= 0 main_~a~0)) (.cse7 (<= 1 main_~b~0)) (.cse8 (<= main_~a~0 5)) (.cse13 (<= 0 .cse12))) (or (and .cse0 (= main_~y~0 .cse1) .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 .cse8) (and .cse9 .cse10 (= (* main_~a~0 4) main_~x~0) .cse11 .cse3 .cse5 (= .cse12 (div .cse1 2)) .cse6 .cse7 .cse8 .cse13) (and (or (and .cse0 .cse2 (= main_~b~0 main_~y~0)) (and .cse9 (= main_~b~0 .cse12) .cse10)) .cse3 .cse5 .cse7 .cse8 (= main_~a~0 main_~x~0)) (and .cse10 .cse3 .cse4 .cse5 .cse6 (= .cse1 .cse12) .cse7 .cse8 (<= 1 (mod .cse1 2))) (and .cse9 (<= 1 .cse14) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) .cse11 .cse3 .cse5 .cse7 .cse8 (= (mod main_~x~0 2) 0) .cse13)))) [2022-04-28 14:28:45,633 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse0 (mod main_~b~0 2)) (.cse11 (div main_~b~0 2))) (let ((.cse6 (exists ((aux_mod_v_main_~y~0_65_28 Int) (aux_div_v_main_~y~0_65_28 Int)) (let ((.cse15 (* aux_div_v_main_~y~0_65_28 2))) (let ((.cse14 (+ aux_mod_v_main_~y~0_65_28 .cse15))) (and (<= 1 aux_mod_v_main_~y~0_65_28) (< aux_mod_v_main_~y~0_65_28 2) (<= .cse14 5) (<= 0 .cse14) (= main_~y~0 (div (+ (- 1) aux_mod_v_main_~y~0_65_28 .cse15) 2))))))) (.cse1 (* main_~b~0 main_~a~0)) (.cse2 (<= main_~b~0 5)) (.cse3 (<= 0 main_~a~0)) (.cse7 (div .cse11 2)) (.cse9 (not (= .cse0 1))) (.cse4 (<= 1 main_~b~0)) (.cse8 (* main_~a~0 4)) (.cse5 (<= main_~a~0 5))) (or (and (<= 1 .cse0) (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) .cse1) .cse2 .cse3 .cse4 .cse5 (= (mod main_~x~0 2) 0) .cse6) (and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) .cse1) (= main_~b~0 main_~y~0) .cse3 (<= 1 main_~y~0) .cse5 (= main_~a~0 main_~x~0) (<= main_~y~0 5)) (and (= main_~y~0 (div (+ (- 1) .cse7) 2)) .cse2 .cse3 (= .cse8 main_~z~0) .cse9 (= main_~x~0 (* main_~z~0 2)) .cse4 .cse5 .cse6) (and (let ((.cse10 (= main_~z~0 0)) (.cse12 (= .cse8 main_~x~0))) (or (and (or (and .cse10 (= main_~y~0 .cse11) (= (* main_~a~0 2) main_~x~0) .cse3 .cse9) (let ((.cse13 (div (+ (- 1) main_~b~0) 2))) (and .cse12 (= .cse1 (+ (* 2 (* .cse13 main_~a~0)) main_~z~0)) .cse3 (= (div .cse13 2) main_~y~0) (not (= (mod .cse13 2) 1))))) .cse2 .cse4) (and .cse10 .cse12 (not (= (mod .cse11 2) 1)) .cse2 .cse3 (= main_~y~0 .cse7) .cse9 .cse4))) .cse5)))) [2022-04-28 14:28:45,633 INFO L895 garLoopResultBuilder]: At program point L35-1(lines 34 45) the Hoare annotation is: (let ((.cse9 (* main_~b~0 main_~a~0)) (.cse13 (mod main_~b~0 2)) (.cse12 (div main_~b~0 2))) (let ((.cse5 (div .cse12 2)) (.cse1 (* main_~a~0 4)) (.cse0 (= main_~z~0 0)) (.cse6 (not (= .cse13 1))) (.cse11 (< 0 (+ main_~y~0 1))) (.cse2 (or (= main_~z~0 .cse9) (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) .cse9) main_~y~0) 0)))) (.cse3 (<= main_~b~0 5)) (.cse4 (<= 0 main_~a~0)) (.cse10 (= main_~x~0 (* main_~z~0 2))) (.cse7 (<= 1 main_~b~0)) (.cse8 (<= main_~a~0 5))) (or (and .cse0 (= .cse1 main_~x~0) .cse2 .cse3 .cse4 (= main_~y~0 .cse5) .cse6 .cse7 .cse8) (and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) .cse9) (= main_~b~0 main_~y~0) .cse4 (<= 1 main_~y~0) .cse8 (= main_~a~0 main_~x~0) (<= main_~y~0 5)) (and (= main_~y~0 (div (+ (- 1) .cse5) 2)) .cse3 .cse4 (= .cse1 main_~z~0) .cse6 .cse10 .cse11 .cse8) (and .cse0 (= main_~y~0 .cse12) .cse3 (= (* main_~a~0 2) main_~x~0) .cse4 .cse6 .cse7 .cse8) (and (<= 1 .cse13) (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) .cse9) .cse3 .cse4 (< main_~y~0 3) (<= 0 main_~b~0) .cse11 .cse8 (= (mod main_~x~0 2) 0)) (and .cse2 .cse3 (= (div (+ (- 1) .cse12) 2) main_~y~0) .cse4 .cse10 .cse7 .cse8 (<= 1 (mod .cse12 2)))))) [2022-04-28 14:28:45,633 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-28 14:28:45,633 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-28 14:28:45,633 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-28 14:28:45,633 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-28 14:28:45,633 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 14:28:45,633 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 14:28:45,634 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-28 14:28:45,634 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 12 18) the Hoare annotation is: true [2022-04-28 14:28:45,634 INFO L895 garLoopResultBuilder]: At program point L14(lines 14 15) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 14:28:45,634 INFO L895 garLoopResultBuilder]: At program point L13(lines 13 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 14:28:45,634 INFO L895 garLoopResultBuilder]: At program point L13-2(lines 12 18) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 14:28:45,634 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 12 18) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 14:28:45,634 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 15) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 14:28:45,636 INFO L356 BasicCegarLoop]: Path program histogram: [12, 4, 4, 2, 2, 2, 2] [2022-04-28 14:28:45,637 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 14:28:45,640 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 14:28:45,641 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 14:28:46,419 INFO L163 areAnnotationChecker]: CFG has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 14:28:46,424 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,425 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,425 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,425 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,425 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,425 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,425 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,425 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,425 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,426 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,426 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,426 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,426 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,426 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,426 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,426 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,431 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,431 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,431 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,431 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,431 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,431 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,431 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,432 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,432 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,432 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,432 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,432 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,432 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,432 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,432 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,432 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,435 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 02:28:46 BoogieIcfgContainer [2022-04-28 14:28:46,435 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 14:28:46,436 INFO L158 Benchmark]: Toolchain (without parser) took 866107.15ms. Allocated memory was 180.4MB in the beginning and 292.6MB in the end (delta: 112.2MB). Free memory was 129.2MB in the beginning and 151.3MB in the end (delta: -22.1MB). Peak memory consumption was 148.9MB. Max. memory is 8.0GB. [2022-04-28 14:28:46,436 INFO L158 Benchmark]: CDTParser took 0.15ms. Allocated memory is still 180.4MB. Free memory was 145.6MB in the beginning and 145.5MB in the end (delta: 74.4kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 14:28:46,436 INFO L158 Benchmark]: CACSL2BoogieTranslator took 263.52ms. Allocated memory was 180.4MB in the beginning and 243.3MB in the end (delta: 62.9MB). Free memory was 129.0MB in the beginning and 219.8MB in the end (delta: -90.8MB). Peak memory consumption was 11.2MB. Max. memory is 8.0GB. [2022-04-28 14:28:46,437 INFO L158 Benchmark]: Boogie Preprocessor took 40.79ms. Allocated memory is still 243.3MB. Free memory was 219.8MB in the beginning and 218.3MB in the end (delta: 1.5MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-28 14:28:46,437 INFO L158 Benchmark]: RCFGBuilder took 262.16ms. Allocated memory is still 243.3MB. Free memory was 218.3MB in the beginning and 206.3MB in the end (delta: 12.0MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 14:28:46,437 INFO L158 Benchmark]: TraceAbstraction took 865535.24ms. Allocated memory was 243.3MB in the beginning and 292.6MB in the end (delta: 49.3MB). Free memory was 205.7MB in the beginning and 151.3MB in the end (delta: 54.4MB). Peak memory consumption was 162.9MB. Max. memory is 8.0GB. [2022-04-28 14:28:46,438 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.15ms. Allocated memory is still 180.4MB. Free memory was 145.6MB in the beginning and 145.5MB in the end (delta: 74.4kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 263.52ms. Allocated memory was 180.4MB in the beginning and 243.3MB in the end (delta: 62.9MB). Free memory was 129.0MB in the beginning and 219.8MB in the end (delta: -90.8MB). Peak memory consumption was 11.2MB. Max. memory is 8.0GB. * Boogie Preprocessor took 40.79ms. Allocated memory is still 243.3MB. Free memory was 219.8MB in the beginning and 218.3MB in the end (delta: 1.5MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 262.16ms. Allocated memory is still 243.3MB. Free memory was 218.3MB in the beginning and 206.3MB in the end (delta: 12.0MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 865535.24ms. Allocated memory was 243.3MB in the beginning and 292.6MB in the end (delta: 49.3MB). Free memory was 205.7MB in the beginning and 151.3MB in the end (delta: 54.4MB). Peak memory consumption was 162.9MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 15]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 35 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 864.7s, OverallIterations: 14, TraceHistogramMax: 5, PathProgramHistogramMax: 12, EmptinessCheckTime: 0.0s, AutomataDifference: 74.7s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 21.5s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 1 mSolverCounterUnknown, 286 SdHoareTripleChecker+Valid, 21.5s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 263 mSDsluCounter, 1994 SdHoareTripleChecker+Invalid, 21.5s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 56 IncrementalHoareTripleChecker+Unchecked, 1649 mSDsCounter, 98 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2432 IncrementalHoareTripleChecker+Invalid, 2587 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 98 mSolverCounterUnsat, 345 mSDtfsCounter, 2432 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1161 GetRequests, 909 SyntacticMatches, 26 SemanticMatches, 226 ConstructedPredicates, 0 IntricatePredicates, 3 DeprecatedPredicates, 1099 ImplicationChecksByTransitivity, 56.3s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=77occurred in iteration=12, InterpolantAutomatonStates: 157, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.0s AutomataMinimizationTime, 14 MinimizatonAttempts, 56 StatesRemovedByMinimization, 10 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 32 LocationsWithAnnotation, 186 PreInvPairs, 283 NumberOfFragments, 1337 HoareAnnotationTreeSize, 186 FomulaSimplifications, 2148 FormulaSimplificationTreeSizeReduction, 2.1s HoareSimplificationTime, 32 FomulaSimplificationsInter, 65165 FormulaSimplificationTreeSizeReductionInter, 19.3s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 34]: Loop Invariant [2022-04-28 14:28:46,447 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,448 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,448 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,448 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,448 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,448 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,448 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,448 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,448 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,448 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,448 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,448 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,448 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,449 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,449 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,449 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,449 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,450 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,450 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,450 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,450 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,450 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,450 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,450 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,450 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,450 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,450 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,450 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,450 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,450 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,451 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_mod_v_main_~y~0_65_28,QUANTIFIED] [2022-04-28 14:28:46,451 WARN L418 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[aux_div_v_main_~y~0_65_28,QUANTIFIED] Derived loop invariant: (((((((((1 <= b % 2 && z + 2 * (-1 * x / -2 * y) == b * a) && b <= 5) && 0 <= a) && 1 <= b) && a <= 5) && x % 2 == 0) && (\exists aux_mod_v_main_~y~0_65_28 : int, aux_div_v_main_~y~0_65_28 : int :: (((1 <= aux_mod_v_main_~y~0_65_28 && aux_mod_v_main_~y~0_65_28 < 2) && aux_mod_v_main_~y~0_65_28 + aux_div_v_main_~y~0_65_28 * 2 <= 5) && 0 <= aux_mod_v_main_~y~0_65_28 + aux_div_v_main_~y~0_65_28 * 2) && y == (-1 + aux_mod_v_main_~y~0_65_28 + aux_div_v_main_~y~0_65_28 * 2) / 2)) || ((((((z + y * x == b * a && b == y) && 0 <= a) && 1 <= y) && a <= 5) && a == x) && y <= 5)) || (((((((y == (-1 + b / 2 / 2) / 2 && b <= 5) && 0 <= a) && a * 4 == z) && !(b % 2 == 1)) && x == z * 2) && a <= 5) && (\exists aux_mod_v_main_~y~0_65_28 : int, aux_div_v_main_~y~0_65_28 : int :: (((1 <= aux_mod_v_main_~y~0_65_28 && aux_mod_v_main_~y~0_65_28 < 2) && aux_mod_v_main_~y~0_65_28 + aux_div_v_main_~y~0_65_28 * 2 <= 5) && 0 <= aux_mod_v_main_~y~0_65_28 + aux_div_v_main_~y~0_65_28 * 2) && y == (-1 + aux_mod_v_main_~y~0_65_28 + aux_div_v_main_~y~0_65_28 * 2) / 2))) || (((((((((z == 0 && y == b / 2) && a * 2 == x) && 0 <= a) && !(b % 2 == 1)) || ((((a * 4 == x && b * a == 2 * ((-1 + b) / 2 * a) + z) && 0 <= a) && (-1 + b) / 2 / 2 == y) && !((-1 + b) / 2 % 2 == 1))) && b <= 5) && 1 <= b) || (((((((z == 0 && a * 4 == x) && !(b / 2 % 2 == 1)) && b <= 5) && 0 <= a) && y == b / 2 / 2) && !(b % 2 == 1)) && 1 <= b)) && a <= 5) - ProcedureContractResult [Line: 9]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 20]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 12]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-28 14:28:46,651 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...