/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/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/lcm2_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 10:09:39,981 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 10:09:39,984 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 10:09:40,016 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 10:09:40,017 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 10:09:40,018 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 10:09:40,021 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 10:09:40,026 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 10:09:40,027 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 10:09:40,031 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 10:09:40,032 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 10:09:40,034 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 10:09:40,034 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 10:09:40,036 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 10:09:40,037 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 10:09:40,039 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 10:09:40,040 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 10:09:40,041 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 10:09:40,043 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 10:09:40,048 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 10:09:40,049 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 10:09:40,050 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 10:09:40,052 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 10:09:40,053 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 10:09:40,054 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 10:09:40,060 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 10:09:40,060 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 10:09:40,060 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 10:09:40,061 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 10:09:40,061 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 10:09:40,063 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 10:09:40,063 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 10:09:40,064 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 10:09:40,065 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 10:09:40,065 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 10:09:40,066 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 10:09:40,066 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 10:09:40,067 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 10:09:40,067 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 10:09:40,067 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 10:09:40,068 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 10:09:40,069 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 10:09:40,070 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 10:09:40,081 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 10:09:40,081 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 10:09:40,082 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 10:09:40,082 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 10:09:40,082 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 10:09:40,083 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 10:09:40,083 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 10:09:40,083 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 10:09:40,083 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 10:09:40,084 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 10:09:40,084 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 10:09:40,084 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 10:09:40,084 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 10:09:40,084 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 10:09:40,085 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 10:09:40,085 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 10:09:40,085 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 10:09:40,085 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 10:09:40,085 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 10:09:40,085 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 10:09:40,085 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 10:09:40,085 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 10:09:40,086 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 10:09:40,086 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 10:09:40,086 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 10:09:40,086 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-15 10:09:40,318 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 10:09:40,340 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 10:09:40,342 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 10:09:40,343 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 10:09:40,344 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 10:09:40,345 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/lcm2_valuebound1.c [2022-04-15 10:09:40,395 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cc3324f4d/6a4a87144d2942e5839ca6b719147d41/FLAG5ec9eb27e [2022-04-15 10:09:40,796 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 10:09:40,796 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/lcm2_valuebound1.c [2022-04-15 10:09:40,803 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cc3324f4d/6a4a87144d2942e5839ca6b719147d41/FLAG5ec9eb27e [2022-04-15 10:09:41,185 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cc3324f4d/6a4a87144d2942e5839ca6b719147d41 [2022-04-15 10:09:41,187 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 10:09:41,188 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 10:09:41,190 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 10:09:41,190 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 10:09:41,193 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 10:09:41,194 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 10:09:41" (1/1) ... [2022-04-15 10:09:41,195 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5802c354 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:09:41, skipping insertion in model container [2022-04-15 10:09:41,195 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 10:09:41" (1/1) ... [2022-04-15 10:09:41,201 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 10:09:41,214 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 10:09:41,355 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/lcm2_valuebound1.c[537,550] [2022-04-15 10:09:41,374 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 10:09:41,380 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 10:09:41,392 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/lcm2_valuebound1.c[537,550] [2022-04-15 10:09:41,399 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 10:09:41,410 INFO L208 MainTranslator]: Completed translation [2022-04-15 10:09:41,411 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:09:41 WrapperNode [2022-04-15 10:09:41,411 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 10:09:41,412 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 10:09:41,412 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 10:09:41,412 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 10:09:41,421 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:09:41" (1/1) ... [2022-04-15 10:09:41,421 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:09:41" (1/1) ... [2022-04-15 10:09:41,426 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:09:41" (1/1) ... [2022-04-15 10:09:41,426 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:09:41" (1/1) ... [2022-04-15 10:09:41,431 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:09:41" (1/1) ... [2022-04-15 10:09:41,436 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:09:41" (1/1) ... [2022-04-15 10:09:41,437 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:09:41" (1/1) ... [2022-04-15 10:09:41,439 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 10:09:41,439 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 10:09:41,439 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 10:09:41,439 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 10:09:41,443 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:09:41" (1/1) ... [2022-04-15 10:09:41,449 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 10:09:41,456 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:09:41,472 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-15 10:09:41,498 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-15 10:09:41,518 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 10:09:41,519 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 10:09:41,519 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 10:09:41,519 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 10:09:41,519 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 10:09:41,519 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 10:09:41,519 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 10:09:41,519 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 10:09:41,519 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 10:09:41,519 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 10:09:41,519 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-15 10:09:41,520 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 10:09:41,520 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 10:09:41,520 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 10:09:41,520 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 10:09:41,520 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 10:09:41,520 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 10:09:41,520 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 10:09:41,520 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 10:09:41,520 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 10:09:41,571 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 10:09:41,572 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 10:09:41,711 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 10:09:41,717 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 10:09:41,717 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 10:09:41,718 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 10:09:41 BoogieIcfgContainer [2022-04-15 10:09:41,718 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 10:09:41,720 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 10:09:41,720 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 10:09:41,738 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 10:09:41,738 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 10:09:41" (1/3) ... [2022-04-15 10:09:41,739 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@e60752 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 10:09:41, skipping insertion in model container [2022-04-15 10:09:41,739 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:09:41" (2/3) ... [2022-04-15 10:09:41,739 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@e60752 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 10:09:41, skipping insertion in model container [2022-04-15 10:09:41,739 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 10:09:41" (3/3) ... [2022-04-15 10:09:41,740 INFO L111 eAbstractionObserver]: Analyzing ICFG lcm2_valuebound1.c [2022-04-15 10:09:41,744 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 10:09:41,744 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 10:09:41,794 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 10:09:41,800 INFO L340 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 [2022-04-15 10:09:41,801 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 10:09:41,821 INFO L276 IsEmpty]: Start isEmpty. Operand has 34 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 10:09:41,829 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 10:09:41,829 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:09:41,829 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:09:41,830 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:09:41,843 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:09:41,844 INFO L85 PathProgramCache]: Analyzing trace with hash 1830914611, now seen corresponding path program 1 times [2022-04-15 10:09:41,850 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:09:41,852 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1136801406] [2022-04-15 10:09:41,862 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:09:41,862 INFO L85 PathProgramCache]: Analyzing trace with hash 1830914611, now seen corresponding path program 2 times [2022-04-15 10:09:41,865 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:09:41,866 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1618595610] [2022-04-15 10:09:41,866 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:09:41,867 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:09:42,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:09:42,081 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 10:09:42,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:09:42,117 INFO L290 TraceCheckUtils]: 0: Hoare triple {66#(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(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {37#true} is VALID [2022-04-15 10:09:42,118 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-15 10:09:42,118 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #79#return; {37#true} is VALID [2022-04-15 10:09:42,119 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 10:09:42,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:09:42,133 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:09:42,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:09:42,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:09:42,135 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {37#true} #63#return; {38#false} is VALID [2022-04-15 10:09:42,135 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 10:09:42,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:09:42,154 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:09:42,154 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:09:42,155 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:09:42,155 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #65#return; {38#false} is VALID [2022-04-15 10:09:42,155 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 10:09:42,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:09:42,170 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:09:42,170 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:09:42,171 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:09:42,171 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #67#return; {38#false} is VALID [2022-04-15 10:09:42,171 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-15 10:09:42,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:09:42,178 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:09:42,179 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:09:42,179 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:09:42,179 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #69#return; {38#false} is VALID [2022-04-15 10:09:42,180 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-15 10:09:42,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:09:42,191 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:09:42,192 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:09:42,192 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:09:42,194 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #71#return; {38#false} is VALID [2022-04-15 10:09:42,194 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 32 [2022-04-15 10:09:42,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:09:42,213 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:09:42,214 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:09:42,215 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:09:42,215 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-15 10:09:42,216 INFO L272 TraceCheckUtils]: 0: Hoare triple {37#true} call ULTIMATE.init(); {66#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 10:09:42,216 INFO L290 TraceCheckUtils]: 1: Hoare triple {66#(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(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {37#true} is VALID [2022-04-15 10:09:42,216 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-15 10:09:42,217 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #79#return; {37#true} is VALID [2022-04-15 10:09:42,217 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret6 := main(); {37#true} is VALID [2022-04-15 10:09:42,217 INFO L290 TraceCheckUtils]: 5: Hoare triple {37#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~u~0;havoc ~v~0;~a~0 := #t~nondet4;havoc #t~nondet4; {37#true} is VALID [2022-04-15 10:09:42,218 INFO L272 TraceCheckUtils]: 6: Hoare triple {37#true} call assume_abort_if_not((if ~a~0 % 4294967296 >= 0 && ~a~0 % 4294967296 <= 1 then 1 else 0)); {37#true} is VALID [2022-04-15 10:09:42,218 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:09:42,219 INFO L290 TraceCheckUtils]: 8: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:09:42,219 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:09:42,219 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38#false} {37#true} #63#return; {38#false} is VALID [2022-04-15 10:09:42,219 INFO L290 TraceCheckUtils]: 11: Hoare triple {38#false} ~b~0 := #t~nondet5;havoc #t~nondet5; {38#false} is VALID [2022-04-15 10:09:42,219 INFO L272 TraceCheckUtils]: 12: Hoare triple {38#false} call assume_abort_if_not((if ~b~0 % 4294967296 >= 0 && ~b~0 % 4294967296 <= 1 then 1 else 0)); {37#true} is VALID [2022-04-15 10:09:42,220 INFO L290 TraceCheckUtils]: 13: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:09:42,221 INFO L290 TraceCheckUtils]: 14: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:09:42,222 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:09:42,222 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38#false} {38#false} #65#return; {38#false} is VALID [2022-04-15 10:09:42,222 INFO L272 TraceCheckUtils]: 17: Hoare triple {38#false} call assume_abort_if_not((if ~a~0 % 4294967296 >= 1 then 1 else 0)); {37#true} is VALID [2022-04-15 10:09:42,222 INFO L290 TraceCheckUtils]: 18: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:09:42,223 INFO L290 TraceCheckUtils]: 19: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:09:42,223 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:09:42,223 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38#false} {38#false} #67#return; {38#false} is VALID [2022-04-15 10:09:42,224 INFO L272 TraceCheckUtils]: 22: Hoare triple {38#false} call assume_abort_if_not((if ~b~0 % 4294967296 >= 1 then 1 else 0)); {37#true} is VALID [2022-04-15 10:09:42,224 INFO L290 TraceCheckUtils]: 23: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:09:42,228 INFO L290 TraceCheckUtils]: 24: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:09:42,228 INFO L290 TraceCheckUtils]: 25: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:09:42,228 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {38#false} {38#false} #69#return; {38#false} is VALID [2022-04-15 10:09:42,228 INFO L272 TraceCheckUtils]: 27: Hoare triple {38#false} call assume_abort_if_not((if ~a~0 % 4294967296 <= 65535 then 1 else 0)); {37#true} is VALID [2022-04-15 10:09:42,229 INFO L290 TraceCheckUtils]: 28: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:09:42,230 INFO L290 TraceCheckUtils]: 29: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:09:42,230 INFO L290 TraceCheckUtils]: 30: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:09:42,231 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {38#false} {38#false} #71#return; {38#false} is VALID [2022-04-15 10:09:42,231 INFO L272 TraceCheckUtils]: 32: Hoare triple {38#false} call assume_abort_if_not((if ~b~0 % 4294967296 <= 65535 then 1 else 0)); {37#true} is VALID [2022-04-15 10:09:42,231 INFO L290 TraceCheckUtils]: 33: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 10:09:42,233 INFO L290 TraceCheckUtils]: 34: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 10:09:42,234 INFO L290 TraceCheckUtils]: 35: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 10:09:42,234 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-15 10:09:42,234 INFO L290 TraceCheckUtils]: 37: Hoare triple {38#false} ~x~0 := ~a~0;~y~0 := ~b~0;~u~0 := ~b~0;~v~0 := ~a~0; {38#false} is VALID [2022-04-15 10:09:42,234 INFO L290 TraceCheckUtils]: 38: Hoare triple {38#false} assume !true; {38#false} is VALID [2022-04-15 10:09:42,235 INFO L272 TraceCheckUtils]: 39: Hoare triple {38#false} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {38#false} is VALID [2022-04-15 10:09:42,235 INFO L290 TraceCheckUtils]: 40: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-15 10:09:42,235 INFO L290 TraceCheckUtils]: 41: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-15 10:09:42,235 INFO L290 TraceCheckUtils]: 42: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-15 10:09:42,236 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-15 10:09:42,236 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:09:42,237 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1618595610] [2022-04-15 10:09:42,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1618595610] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:09:42,239 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:09:42,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 10:09:42,242 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:09:42,242 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1136801406] [2022-04-15 10:09:42,242 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1136801406] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:09:42,242 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:09:42,243 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 10:09:42,243 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [842370802] [2022-04-15 10:09:42,243 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:09:42,250 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-15 10:09:42,252 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:09:42,255 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 10:09:42,302 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:09:42,302 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 10:09:42,303 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:09:42,326 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 10:09:42,327 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 10:09:42,329 INFO L87 Difference]: Start difference. First operand has 34 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 10:09:42,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:09:42,558 INFO L93 Difference]: Finished difference Result 61 states and 90 transitions. [2022-04-15 10:09:42,558 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 10:09:42,558 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-15 10:09:42,559 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:09:42,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 10:09:42,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 90 transitions. [2022-04-15 10:09:42,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 10:09:42,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 90 transitions. [2022-04-15 10:09:42,591 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 90 transitions. [2022-04-15 10:09:42,731 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:09:42,743 INFO L225 Difference]: With dead ends: 61 [2022-04-15 10:09:42,743 INFO L226 Difference]: Without dead ends: 29 [2022-04-15 10:09:42,746 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 10:09:42,750 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 36 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 10:09:42,751 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 36 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 10:09:42,763 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-15 10:09:42,786 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-15 10:09:42,786 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:09:42,787 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:09:42,788 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:09:42,789 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:09:42,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:09:42,794 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-15 10:09:42,794 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-15 10:09:42,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:09:42,794 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:09:42,794 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 29 states. [2022-04-15 10:09:42,795 INFO L87 Difference]: Start difference. First operand has 29 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 29 states. [2022-04-15 10:09:42,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:09:42,798 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-15 10:09:42,798 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-15 10:09:42,798 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:09:42,798 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:09:42,799 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:09:42,799 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:09:42,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:09:42,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 36 transitions. [2022-04-15 10:09:42,806 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 36 transitions. Word has length 43 [2022-04-15 10:09:42,806 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:09:42,806 INFO L478 AbstractCegarLoop]: Abstraction has 29 states and 36 transitions. [2022-04-15 10:09:42,807 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 10:09:42,807 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 36 transitions. [2022-04-15 10:09:42,856 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:09:42,856 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-15 10:09:42,858 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 10:09:42,858 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:09:42,859 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:09:42,859 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 10:09:42,859 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:09:42,860 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:09:42,860 INFO L85 PathProgramCache]: Analyzing trace with hash 206107499, now seen corresponding path program 1 times [2022-04-15 10:09:42,861 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:09:42,861 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [970936135] [2022-04-15 10:09:42,863 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:09:42,863 INFO L85 PathProgramCache]: Analyzing trace with hash 206107499, now seen corresponding path program 2 times [2022-04-15 10:09:42,863 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:09:42,863 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [112843778] [2022-04-15 10:09:42,864 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:09:42,864 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:09:42,908 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:09:42,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1995003506] [2022-04-15 10:09:42,908 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:09:42,908 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:09:42,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:09:42,914 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-15 10:09:42,915 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-15 10:09:42,984 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 10:09:42,985 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:09:42,987 INFO L263 TraceCheckSpWp]: Trace formula consists of 82 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 10:09:43,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:09:43,009 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:09:43,468 INFO L272 TraceCheckUtils]: 0: Hoare triple {307#true} call ULTIMATE.init(); {307#true} is VALID [2022-04-15 10:09:43,468 INFO L290 TraceCheckUtils]: 1: Hoare triple {307#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(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {307#true} is VALID [2022-04-15 10:09:43,469 INFO L290 TraceCheckUtils]: 2: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-15 10:09:43,469 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {307#true} {307#true} #79#return; {307#true} is VALID [2022-04-15 10:09:43,469 INFO L272 TraceCheckUtils]: 4: Hoare triple {307#true} call #t~ret6 := main(); {307#true} is VALID [2022-04-15 10:09:43,469 INFO L290 TraceCheckUtils]: 5: Hoare triple {307#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~u~0;havoc ~v~0;~a~0 := #t~nondet4;havoc #t~nondet4; {307#true} is VALID [2022-04-15 10:09:43,469 INFO L272 TraceCheckUtils]: 6: Hoare triple {307#true} call assume_abort_if_not((if ~a~0 % 4294967296 >= 0 && ~a~0 % 4294967296 <= 1 then 1 else 0)); {307#true} is VALID [2022-04-15 10:09:43,470 INFO L290 TraceCheckUtils]: 7: Hoare triple {307#true} ~cond := #in~cond; {307#true} is VALID [2022-04-15 10:09:43,470 INFO L290 TraceCheckUtils]: 8: Hoare triple {307#true} assume !(0 == ~cond); {307#true} is VALID [2022-04-15 10:09:43,470 INFO L290 TraceCheckUtils]: 9: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-15 10:09:43,470 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {307#true} {307#true} #63#return; {307#true} is VALID [2022-04-15 10:09:43,470 INFO L290 TraceCheckUtils]: 11: Hoare triple {307#true} ~b~0 := #t~nondet5;havoc #t~nondet5; {307#true} is VALID [2022-04-15 10:09:43,471 INFO L272 TraceCheckUtils]: 12: Hoare triple {307#true} call assume_abort_if_not((if ~b~0 % 4294967296 >= 0 && ~b~0 % 4294967296 <= 1 then 1 else 0)); {307#true} is VALID [2022-04-15 10:09:43,471 INFO L290 TraceCheckUtils]: 13: Hoare triple {307#true} ~cond := #in~cond; {307#true} is VALID [2022-04-15 10:09:43,471 INFO L290 TraceCheckUtils]: 14: Hoare triple {307#true} assume !(0 == ~cond); {307#true} is VALID [2022-04-15 10:09:43,471 INFO L290 TraceCheckUtils]: 15: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-15 10:09:43,471 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {307#true} {307#true} #65#return; {307#true} is VALID [2022-04-15 10:09:43,472 INFO L272 TraceCheckUtils]: 17: Hoare triple {307#true} call assume_abort_if_not((if ~a~0 % 4294967296 >= 1 then 1 else 0)); {307#true} is VALID [2022-04-15 10:09:43,472 INFO L290 TraceCheckUtils]: 18: Hoare triple {307#true} ~cond := #in~cond; {307#true} is VALID [2022-04-15 10:09:43,472 INFO L290 TraceCheckUtils]: 19: Hoare triple {307#true} assume !(0 == ~cond); {307#true} is VALID [2022-04-15 10:09:43,472 INFO L290 TraceCheckUtils]: 20: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-15 10:09:43,472 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {307#true} {307#true} #67#return; {307#true} is VALID [2022-04-15 10:09:43,473 INFO L272 TraceCheckUtils]: 22: Hoare triple {307#true} call assume_abort_if_not((if ~b~0 % 4294967296 >= 1 then 1 else 0)); {307#true} is VALID [2022-04-15 10:09:43,473 INFO L290 TraceCheckUtils]: 23: Hoare triple {307#true} ~cond := #in~cond; {307#true} is VALID [2022-04-15 10:09:43,473 INFO L290 TraceCheckUtils]: 24: Hoare triple {307#true} assume !(0 == ~cond); {307#true} is VALID [2022-04-15 10:09:43,473 INFO L290 TraceCheckUtils]: 25: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-15 10:09:43,473 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {307#true} {307#true} #69#return; {307#true} is VALID [2022-04-15 10:09:43,474 INFO L272 TraceCheckUtils]: 27: Hoare triple {307#true} call assume_abort_if_not((if ~a~0 % 4294967296 <= 65535 then 1 else 0)); {307#true} is VALID [2022-04-15 10:09:43,474 INFO L290 TraceCheckUtils]: 28: Hoare triple {307#true} ~cond := #in~cond; {307#true} is VALID [2022-04-15 10:09:43,474 INFO L290 TraceCheckUtils]: 29: Hoare triple {307#true} assume !(0 == ~cond); {307#true} is VALID [2022-04-15 10:09:43,474 INFO L290 TraceCheckUtils]: 30: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-15 10:09:43,474 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {307#true} {307#true} #71#return; {307#true} is VALID [2022-04-15 10:09:43,475 INFO L272 TraceCheckUtils]: 32: Hoare triple {307#true} call assume_abort_if_not((if ~b~0 % 4294967296 <= 65535 then 1 else 0)); {307#true} is VALID [2022-04-15 10:09:43,475 INFO L290 TraceCheckUtils]: 33: Hoare triple {307#true} ~cond := #in~cond; {307#true} is VALID [2022-04-15 10:09:43,475 INFO L290 TraceCheckUtils]: 34: Hoare triple {307#true} assume !(0 == ~cond); {307#true} is VALID [2022-04-15 10:09:43,475 INFO L290 TraceCheckUtils]: 35: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-15 10:09:43,475 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {307#true} {307#true} #73#return; {307#true} is VALID [2022-04-15 10:09:43,478 INFO L290 TraceCheckUtils]: 37: Hoare triple {307#true} ~x~0 := ~a~0;~y~0 := ~b~0;~u~0 := ~b~0;~v~0 := ~a~0; {423#(and (= main_~a~0 main_~v~0) (= main_~b~0 main_~y~0) (= main_~b~0 main_~u~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:09:43,478 INFO L290 TraceCheckUtils]: 38: Hoare triple {423#(and (= main_~a~0 main_~v~0) (= main_~b~0 main_~y~0) (= main_~b~0 main_~u~0) (= main_~a~0 main_~x~0))} assume !false; {423#(and (= main_~a~0 main_~v~0) (= main_~b~0 main_~y~0) (= main_~b~0 main_~u~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:09:43,480 INFO L272 TraceCheckUtils]: 39: Hoare triple {423#(and (= main_~a~0 main_~v~0) (= main_~b~0 main_~y~0) (= main_~b~0 main_~u~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {430#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:09:43,480 INFO L290 TraceCheckUtils]: 40: Hoare triple {430#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {434#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:09:43,481 INFO L290 TraceCheckUtils]: 41: Hoare triple {434#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {308#false} is VALID [2022-04-15 10:09:43,481 INFO L290 TraceCheckUtils]: 42: Hoare triple {308#false} assume !false; {308#false} is VALID [2022-04-15 10:09:43,481 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-15 10:09:43,481 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 10:09:43,481 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:09:43,482 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [112843778] [2022-04-15 10:09:43,482 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:09:43,482 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1995003506] [2022-04-15 10:09:43,482 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1995003506] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:09:43,482 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:09:43,482 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 10:09:43,483 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:09:43,483 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [970936135] [2022-04-15 10:09:43,483 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [970936135] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:09:43,484 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:09:43,484 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 10:09:43,484 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [371903424] [2022-04-15 10:09:43,484 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:09:43,485 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 43 [2022-04-15 10:09:43,485 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:09:43,485 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-15 10:09:43,515 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:09:43,516 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 10:09:43,516 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:09:43,516 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 10:09:43,517 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 10:09:43,517 INFO L87 Difference]: Start difference. First operand 29 states and 36 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-15 10:09:43,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:09:43,730 INFO L93 Difference]: Finished difference Result 40 states and 49 transitions. [2022-04-15 10:09:43,731 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 10:09:43,731 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 43 [2022-04-15 10:09:43,731 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:09:43,732 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-15 10:09:43,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2022-04-15 10:09:43,734 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-15 10:09:43,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2022-04-15 10:09:43,736 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 49 transitions. [2022-04-15 10:09:43,794 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-15 10:09:43,796 INFO L225 Difference]: With dead ends: 40 [2022-04-15 10:09:43,796 INFO L226 Difference]: Without dead ends: 37 [2022-04-15 10:09:43,796 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 10:09:43,798 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 7 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 105 SdHoareTripleChecker+Invalid, 42 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 10:09:43,798 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 105 Invalid, 42 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 10:09:43,799 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-15 10:09:43,809 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 36. [2022-04-15 10:09:43,809 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:09:43,809 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 36 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:09:43,810 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 36 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:09:43,810 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 36 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:09:43,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:09:43,813 INFO L93 Difference]: Finished difference Result 37 states and 45 transitions. [2022-04-15 10:09:43,813 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 45 transitions. [2022-04-15 10:09:43,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:09:43,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:09:43,814 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 37 states. [2022-04-15 10:09:43,814 INFO L87 Difference]: Start difference. First operand has 36 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 37 states. [2022-04-15 10:09:43,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:09:43,817 INFO L93 Difference]: Finished difference Result 37 states and 45 transitions. [2022-04-15 10:09:43,817 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 45 transitions. [2022-04-15 10:09:43,817 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:09:43,817 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:09:43,817 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:09:43,818 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:09:43,818 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:09:43,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 43 transitions. [2022-04-15 10:09:43,820 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 43 transitions. Word has length 43 [2022-04-15 10:09:43,820 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:09:43,820 INFO L478 AbstractCegarLoop]: Abstraction has 36 states and 43 transitions. [2022-04-15 10:09:43,820 INFO L479 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-15 10:09:43,821 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 43 transitions. [2022-04-15 10:09:43,867 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-15 10:09:43,867 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 43 transitions. [2022-04-15 10:09:43,868 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-15 10:09:43,868 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:09:43,868 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:09:43,885 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-15 10:09:44,071 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:09:44,072 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:09:44,072 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:09:44,072 INFO L85 PathProgramCache]: Analyzing trace with hash 1555618915, now seen corresponding path program 1 times [2022-04-15 10:09:44,072 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:09:44,072 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [413992899] [2022-04-15 10:09:44,073 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:09:44,073 INFO L85 PathProgramCache]: Analyzing trace with hash 1555618915, now seen corresponding path program 2 times [2022-04-15 10:09:44,073 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:09:44,073 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [363900615] [2022-04-15 10:09:44,073 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:09:44,073 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:09:44,095 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:09:44,095 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [427906676] [2022-04-15 10:09:44,095 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:09:44,095 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:09:44,096 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:09:44,097 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-15 10:09:44,147 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-15 10:09:44,192 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:09:44,192 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:09:44,208 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-15 10:09:44,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:09:44,222 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:09:45,727 INFO L272 TraceCheckUtils]: 0: Hoare triple {668#true} call ULTIMATE.init(); {668#true} is VALID [2022-04-15 10:09:45,727 INFO L290 TraceCheckUtils]: 1: Hoare triple {668#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(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {668#true} is VALID [2022-04-15 10:09:45,727 INFO L290 TraceCheckUtils]: 2: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 10:09:45,728 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {668#true} {668#true} #79#return; {668#true} is VALID [2022-04-15 10:09:45,728 INFO L272 TraceCheckUtils]: 4: Hoare triple {668#true} call #t~ret6 := main(); {668#true} is VALID [2022-04-15 10:09:45,728 INFO L290 TraceCheckUtils]: 5: Hoare triple {668#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~u~0;havoc ~v~0;~a~0 := #t~nondet4;havoc #t~nondet4; {668#true} is VALID [2022-04-15 10:09:45,728 INFO L272 TraceCheckUtils]: 6: Hoare triple {668#true} call assume_abort_if_not((if ~a~0 % 4294967296 >= 0 && ~a~0 % 4294967296 <= 1 then 1 else 0)); {668#true} is VALID [2022-04-15 10:09:45,729 INFO L290 TraceCheckUtils]: 7: Hoare triple {668#true} ~cond := #in~cond; {694#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:09:45,731 INFO L290 TraceCheckUtils]: 8: Hoare triple {694#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:09:45,731 INFO L290 TraceCheckUtils]: 9: Hoare triple {698#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:09:45,739 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {698#(not (= |assume_abort_if_not_#in~cond| 0))} {668#true} #63#return; {705#(<= (mod main_~a~0 4294967296) 1)} is VALID [2022-04-15 10:09:45,740 INFO L290 TraceCheckUtils]: 11: Hoare triple {705#(<= (mod main_~a~0 4294967296) 1)} ~b~0 := #t~nondet5;havoc #t~nondet5; {705#(<= (mod main_~a~0 4294967296) 1)} is VALID [2022-04-15 10:09:45,740 INFO L272 TraceCheckUtils]: 12: Hoare triple {705#(<= (mod main_~a~0 4294967296) 1)} call assume_abort_if_not((if ~b~0 % 4294967296 >= 0 && ~b~0 % 4294967296 <= 1 then 1 else 0)); {668#true} is VALID [2022-04-15 10:09:45,740 INFO L290 TraceCheckUtils]: 13: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 10:09:45,740 INFO L290 TraceCheckUtils]: 14: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 10:09:45,741 INFO L290 TraceCheckUtils]: 15: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 10:09:45,741 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {668#true} {705#(<= (mod main_~a~0 4294967296) 1)} #65#return; {705#(<= (mod main_~a~0 4294967296) 1)} is VALID [2022-04-15 10:09:45,741 INFO L272 TraceCheckUtils]: 17: Hoare triple {705#(<= (mod main_~a~0 4294967296) 1)} call assume_abort_if_not((if ~a~0 % 4294967296 >= 1 then 1 else 0)); {668#true} is VALID [2022-04-15 10:09:45,741 INFO L290 TraceCheckUtils]: 18: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 10:09:45,742 INFO L290 TraceCheckUtils]: 19: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 10:09:45,742 INFO L290 TraceCheckUtils]: 20: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 10:09:45,742 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {668#true} {705#(<= (mod main_~a~0 4294967296) 1)} #67#return; {705#(<= (mod main_~a~0 4294967296) 1)} is VALID [2022-04-15 10:09:45,742 INFO L272 TraceCheckUtils]: 22: Hoare triple {705#(<= (mod main_~a~0 4294967296) 1)} call assume_abort_if_not((if ~b~0 % 4294967296 >= 1 then 1 else 0)); {668#true} is VALID [2022-04-15 10:09:45,743 INFO L290 TraceCheckUtils]: 23: Hoare triple {668#true} ~cond := #in~cond; {694#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:09:45,743 INFO L290 TraceCheckUtils]: 24: Hoare triple {694#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:09:45,744 INFO L290 TraceCheckUtils]: 25: Hoare triple {698#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:09:45,744 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {698#(not (= |assume_abort_if_not_#in~cond| 0))} {705#(<= (mod main_~a~0 4294967296) 1)} #69#return; {754#(and (<= (mod main_~a~0 4294967296) 1) (<= 1 (mod main_~b~0 4294967296)))} is VALID [2022-04-15 10:09:45,745 INFO L272 TraceCheckUtils]: 27: Hoare triple {754#(and (<= (mod main_~a~0 4294967296) 1) (<= 1 (mod main_~b~0 4294967296)))} call assume_abort_if_not((if ~a~0 % 4294967296 <= 65535 then 1 else 0)); {668#true} is VALID [2022-04-15 10:09:45,745 INFO L290 TraceCheckUtils]: 28: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 10:09:45,745 INFO L290 TraceCheckUtils]: 29: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 10:09:45,745 INFO L290 TraceCheckUtils]: 30: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 10:09:45,746 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {668#true} {754#(and (<= (mod main_~a~0 4294967296) 1) (<= 1 (mod main_~b~0 4294967296)))} #71#return; {754#(and (<= (mod main_~a~0 4294967296) 1) (<= 1 (mod main_~b~0 4294967296)))} is VALID [2022-04-15 10:09:45,746 INFO L272 TraceCheckUtils]: 32: Hoare triple {754#(and (<= (mod main_~a~0 4294967296) 1) (<= 1 (mod main_~b~0 4294967296)))} call assume_abort_if_not((if ~b~0 % 4294967296 <= 65535 then 1 else 0)); {668#true} is VALID [2022-04-15 10:09:45,746 INFO L290 TraceCheckUtils]: 33: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 10:09:45,746 INFO L290 TraceCheckUtils]: 34: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 10:09:45,746 INFO L290 TraceCheckUtils]: 35: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 10:09:45,747 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {668#true} {754#(and (<= (mod main_~a~0 4294967296) 1) (<= 1 (mod main_~b~0 4294967296)))} #73#return; {754#(and (<= (mod main_~a~0 4294967296) 1) (<= 1 (mod main_~b~0 4294967296)))} is VALID [2022-04-15 10:09:45,747 INFO L290 TraceCheckUtils]: 37: Hoare triple {754#(and (<= (mod main_~a~0 4294967296) 1) (<= 1 (mod main_~b~0 4294967296)))} ~x~0 := ~a~0;~y~0 := ~b~0;~u~0 := ~b~0;~v~0 := ~a~0; {788#(and (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~y~0 4294967296)))} is VALID [2022-04-15 10:09:45,748 INFO L290 TraceCheckUtils]: 38: Hoare triple {788#(and (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~y~0 4294967296)))} assume !false; {788#(and (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~y~0 4294967296)))} is VALID [2022-04-15 10:09:45,748 INFO L272 TraceCheckUtils]: 39: Hoare triple {788#(and (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~y~0 4294967296)))} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {668#true} is VALID [2022-04-15 10:09:45,748 INFO L290 TraceCheckUtils]: 40: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 10:09:45,748 INFO L290 TraceCheckUtils]: 41: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 10:09:45,748 INFO L290 TraceCheckUtils]: 42: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 10:09:45,749 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {668#true} {788#(and (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~y~0 4294967296)))} #75#return; {788#(and (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~y~0 4294967296)))} is VALID [2022-04-15 10:09:45,750 INFO L290 TraceCheckUtils]: 44: Hoare triple {788#(and (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~y~0 4294967296)))} assume !!(~x~0 % 4294967296 != ~y~0 % 4294967296); {788#(and (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~y~0 4294967296)))} is VALID [2022-04-15 10:09:45,750 INFO L290 TraceCheckUtils]: 45: Hoare triple {788#(and (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~y~0 4294967296)))} assume ~x~0 % 4294967296 > ~y~0 % 4294967296;~x~0 := ~x~0 - ~y~0;~v~0 := ~v~0 + ~u~0; {669#false} is VALID [2022-04-15 10:09:45,751 INFO L290 TraceCheckUtils]: 46: Hoare triple {669#false} assume !false; {669#false} is VALID [2022-04-15 10:09:45,751 INFO L272 TraceCheckUtils]: 47: Hoare triple {669#false} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {669#false} is VALID [2022-04-15 10:09:45,751 INFO L290 TraceCheckUtils]: 48: Hoare triple {669#false} ~cond := #in~cond; {669#false} is VALID [2022-04-15 10:09:45,751 INFO L290 TraceCheckUtils]: 49: Hoare triple {669#false} assume 0 == ~cond; {669#false} is VALID [2022-04-15 10:09:45,751 INFO L290 TraceCheckUtils]: 50: Hoare triple {669#false} assume !false; {669#false} is VALID [2022-04-15 10:09:45,752 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 10 proven. 18 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-15 10:09:45,752 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:09:47,261 INFO L290 TraceCheckUtils]: 50: Hoare triple {669#false} assume !false; {669#false} is VALID [2022-04-15 10:09:47,262 INFO L290 TraceCheckUtils]: 49: Hoare triple {669#false} assume 0 == ~cond; {669#false} is VALID [2022-04-15 10:09:47,262 INFO L290 TraceCheckUtils]: 48: Hoare triple {669#false} ~cond := #in~cond; {669#false} is VALID [2022-04-15 10:09:47,262 INFO L272 TraceCheckUtils]: 47: Hoare triple {669#false} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {669#false} is VALID [2022-04-15 10:09:47,262 INFO L290 TraceCheckUtils]: 46: Hoare triple {669#false} assume !false; {669#false} is VALID [2022-04-15 10:09:47,263 INFO L290 TraceCheckUtils]: 45: Hoare triple {843#(not (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)))} assume ~x~0 % 4294967296 > ~y~0 % 4294967296;~x~0 := ~x~0 - ~y~0;~v~0 := ~v~0 + ~u~0; {669#false} is VALID [2022-04-15 10:09:47,263 INFO L290 TraceCheckUtils]: 44: Hoare triple {843#(not (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)))} assume !!(~x~0 % 4294967296 != ~y~0 % 4294967296); {843#(not (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)))} is VALID [2022-04-15 10:09:47,264 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {668#true} {843#(not (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)))} #75#return; {843#(not (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)))} is VALID [2022-04-15 10:09:47,264 INFO L290 TraceCheckUtils]: 42: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 10:09:47,265 INFO L290 TraceCheckUtils]: 41: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 10:09:47,265 INFO L290 TraceCheckUtils]: 40: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 10:09:47,265 INFO L272 TraceCheckUtils]: 39: Hoare triple {843#(not (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)))} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {668#true} is VALID [2022-04-15 10:09:47,265 INFO L290 TraceCheckUtils]: 38: Hoare triple {843#(not (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)))} assume !false; {843#(not (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)))} is VALID [2022-04-15 10:09:47,266 INFO L290 TraceCheckUtils]: 37: Hoare triple {868#(not (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)))} ~x~0 := ~a~0;~y~0 := ~b~0;~u~0 := ~b~0;~v~0 := ~a~0; {843#(not (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)))} is VALID [2022-04-15 10:09:47,268 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {668#true} {868#(not (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)))} #73#return; {868#(not (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)))} is VALID [2022-04-15 10:09:47,268 INFO L290 TraceCheckUtils]: 35: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 10:09:47,268 INFO L290 TraceCheckUtils]: 34: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 10:09:47,268 INFO L290 TraceCheckUtils]: 33: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 10:09:47,268 INFO L272 TraceCheckUtils]: 32: Hoare triple {868#(not (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)))} call assume_abort_if_not((if ~b~0 % 4294967296 <= 65535 then 1 else 0)); {668#true} is VALID [2022-04-15 10:09:47,269 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {668#true} {868#(not (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)))} #71#return; {868#(not (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)))} is VALID [2022-04-15 10:09:47,269 INFO L290 TraceCheckUtils]: 30: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 10:09:47,269 INFO L290 TraceCheckUtils]: 29: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 10:09:47,270 INFO L290 TraceCheckUtils]: 28: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 10:09:47,273 INFO L272 TraceCheckUtils]: 27: Hoare triple {868#(not (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)))} call assume_abort_if_not((if ~a~0 % 4294967296 <= 65535 then 1 else 0)); {668#true} is VALID [2022-04-15 10:09:47,275 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {698#(not (= |assume_abort_if_not_#in~cond| 0))} {705#(<= (mod main_~a~0 4294967296) 1)} #69#return; {868#(not (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)))} is VALID [2022-04-15 10:09:47,275 INFO L290 TraceCheckUtils]: 25: Hoare triple {698#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:09:47,276 INFO L290 TraceCheckUtils]: 24: Hoare triple {911#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:09:47,276 INFO L290 TraceCheckUtils]: 23: Hoare triple {668#true} ~cond := #in~cond; {911#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 10:09:47,276 INFO L272 TraceCheckUtils]: 22: Hoare triple {705#(<= (mod main_~a~0 4294967296) 1)} call assume_abort_if_not((if ~b~0 % 4294967296 >= 1 then 1 else 0)); {668#true} is VALID [2022-04-15 10:09:47,277 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {668#true} {705#(<= (mod main_~a~0 4294967296) 1)} #67#return; {705#(<= (mod main_~a~0 4294967296) 1)} is VALID [2022-04-15 10:09:47,277 INFO L290 TraceCheckUtils]: 20: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 10:09:47,277 INFO L290 TraceCheckUtils]: 19: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 10:09:47,278 INFO L290 TraceCheckUtils]: 18: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 10:09:47,278 INFO L272 TraceCheckUtils]: 17: Hoare triple {705#(<= (mod main_~a~0 4294967296) 1)} call assume_abort_if_not((if ~a~0 % 4294967296 >= 1 then 1 else 0)); {668#true} is VALID [2022-04-15 10:09:47,278 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {668#true} {705#(<= (mod main_~a~0 4294967296) 1)} #65#return; {705#(<= (mod main_~a~0 4294967296) 1)} is VALID [2022-04-15 10:09:47,278 INFO L290 TraceCheckUtils]: 15: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 10:09:47,279 INFO L290 TraceCheckUtils]: 14: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 10:09:47,279 INFO L290 TraceCheckUtils]: 13: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 10:09:47,279 INFO L272 TraceCheckUtils]: 12: Hoare triple {705#(<= (mod main_~a~0 4294967296) 1)} call assume_abort_if_not((if ~b~0 % 4294967296 >= 0 && ~b~0 % 4294967296 <= 1 then 1 else 0)); {668#true} is VALID [2022-04-15 10:09:47,279 INFO L290 TraceCheckUtils]: 11: Hoare triple {705#(<= (mod main_~a~0 4294967296) 1)} ~b~0 := #t~nondet5;havoc #t~nondet5; {705#(<= (mod main_~a~0 4294967296) 1)} is VALID [2022-04-15 10:09:47,280 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {698#(not (= |assume_abort_if_not_#in~cond| 0))} {668#true} #63#return; {705#(<= (mod main_~a~0 4294967296) 1)} is VALID [2022-04-15 10:09:47,281 INFO L290 TraceCheckUtils]: 9: Hoare triple {698#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:09:47,282 INFO L290 TraceCheckUtils]: 8: Hoare triple {911#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:09:47,282 INFO L290 TraceCheckUtils]: 7: Hoare triple {668#true} ~cond := #in~cond; {911#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 10:09:47,283 INFO L272 TraceCheckUtils]: 6: Hoare triple {668#true} call assume_abort_if_not((if ~a~0 % 4294967296 >= 0 && ~a~0 % 4294967296 <= 1 then 1 else 0)); {668#true} is VALID [2022-04-15 10:09:47,283 INFO L290 TraceCheckUtils]: 5: Hoare triple {668#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~u~0;havoc ~v~0;~a~0 := #t~nondet4;havoc #t~nondet4; {668#true} is VALID [2022-04-15 10:09:47,283 INFO L272 TraceCheckUtils]: 4: Hoare triple {668#true} call #t~ret6 := main(); {668#true} is VALID [2022-04-15 10:09:47,283 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {668#true} {668#true} #79#return; {668#true} is VALID [2022-04-15 10:09:47,283 INFO L290 TraceCheckUtils]: 2: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 10:09:47,283 INFO L290 TraceCheckUtils]: 1: Hoare triple {668#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(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {668#true} is VALID [2022-04-15 10:09:47,284 INFO L272 TraceCheckUtils]: 0: Hoare triple {668#true} call ULTIMATE.init(); {668#true} is VALID [2022-04-15 10:09:47,284 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 10 proven. 18 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-15 10:09:47,284 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:09:47,284 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [363900615] [2022-04-15 10:09:47,285 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:09:47,285 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [427906676] [2022-04-15 10:09:47,285 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [427906676] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:09:47,285 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:09:47,285 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-15 10:09:47,286 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:09:47,286 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [413992899] [2022-04-15 10:09:47,286 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [413992899] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:09:47,286 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:09:47,286 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 10:09:47,286 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [653973003] [2022-04-15 10:09:47,286 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:09:47,287 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 51 [2022-04-15 10:09:47,289 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:09:47,289 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 10:09:47,328 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:09:47,328 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 10:09:47,328 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:09:47,329 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 10:09:47,329 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-15 10:09:47,329 INFO L87 Difference]: Start difference. First operand 36 states and 43 transitions. Second operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 10:09:48,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:09:48,332 INFO L93 Difference]: Finished difference Result 50 states and 60 transitions. [2022-04-15 10:09:48,332 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 10:09:48,333 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 51 [2022-04-15 10:09:48,333 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:09:48,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 10:09:48,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-15 10:09:48,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 10:09:48,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-15 10:09:48,338 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 57 transitions. [2022-04-15 10:09:48,390 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:09:48,392 INFO L225 Difference]: With dead ends: 50 [2022-04-15 10:09:48,392 INFO L226 Difference]: Without dead ends: 39 [2022-04-15 10:09:48,393 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 92 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-15 10:09:48,394 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 19 mSDsluCounter, 66 mSDsCounter, 0 mSdLazyCounter, 79 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 93 SdHoareTripleChecker+Invalid, 87 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 79 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 10:09:48,394 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 93 Invalid, 87 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 79 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 10:09:48,395 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-15 10:09:48,429 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 37. [2022-04-15 10:09:48,430 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:09:48,430 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:09:48,437 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:09:48,439 INFO L87 Difference]: Start difference. First operand 39 states. Second operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:09:48,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:09:48,444 INFO L93 Difference]: Finished difference Result 39 states and 46 transitions. [2022-04-15 10:09:48,444 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 46 transitions. [2022-04-15 10:09:48,444 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:09:48,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:09:48,445 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 39 states. [2022-04-15 10:09:48,445 INFO L87 Difference]: Start difference. First operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 39 states. [2022-04-15 10:09:48,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:09:48,447 INFO L93 Difference]: Finished difference Result 39 states and 46 transitions. [2022-04-15 10:09:48,447 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 46 transitions. [2022-04-15 10:09:48,448 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:09:48,448 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:09:48,448 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:09:48,448 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:09:48,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:09:48,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 44 transitions. [2022-04-15 10:09:48,450 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 44 transitions. Word has length 51 [2022-04-15 10:09:48,450 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:09:48,450 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 44 transitions. [2022-04-15 10:09:48,451 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 10:09:48,451 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 44 transitions. [2022-04-15 10:09:48,517 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:09:48,517 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 44 transitions. [2022-04-15 10:09:48,518 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-15 10:09:48,518 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:09:48,518 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:09:48,523 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-15 10:09:48,723 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 10:09:48,723 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:09:48,724 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:09:48,724 INFO L85 PathProgramCache]: Analyzing trace with hash 1612877217, now seen corresponding path program 1 times [2022-04-15 10:09:48,724 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:09:48,724 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [780464698] [2022-04-15 10:09:48,724 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:09:48,724 INFO L85 PathProgramCache]: Analyzing trace with hash 1612877217, now seen corresponding path program 2 times [2022-04-15 10:09:48,724 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:09:48,725 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [501693734] [2022-04-15 10:09:48,725 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:09:48,725 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:09:48,747 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:09:48,747 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1188964010] [2022-04-15 10:09:48,747 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:09:48,747 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:09:48,748 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:09:48,780 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-15 10:09:48,781 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-15 10:09:49,339 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:09:49,339 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:09:49,341 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-15 10:09:49,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:09:49,358 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:09:51,558 INFO L272 TraceCheckUtils]: 0: Hoare triple {1239#true} call ULTIMATE.init(); {1239#true} is VALID [2022-04-15 10:09:51,558 INFO L290 TraceCheckUtils]: 1: Hoare triple {1239#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(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {1239#true} is VALID [2022-04-15 10:09:51,558 INFO L290 TraceCheckUtils]: 2: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 10:09:51,559 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1239#true} {1239#true} #79#return; {1239#true} is VALID [2022-04-15 10:09:51,559 INFO L272 TraceCheckUtils]: 4: Hoare triple {1239#true} call #t~ret6 := main(); {1239#true} is VALID [2022-04-15 10:09:51,559 INFO L290 TraceCheckUtils]: 5: Hoare triple {1239#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~u~0;havoc ~v~0;~a~0 := #t~nondet4;havoc #t~nondet4; {1239#true} is VALID [2022-04-15 10:09:51,559 INFO L272 TraceCheckUtils]: 6: Hoare triple {1239#true} call assume_abort_if_not((if ~a~0 % 4294967296 >= 0 && ~a~0 % 4294967296 <= 1 then 1 else 0)); {1239#true} is VALID [2022-04-15 10:09:51,559 INFO L290 TraceCheckUtils]: 7: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 10:09:51,559 INFO L290 TraceCheckUtils]: 8: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 10:09:51,559 INFO L290 TraceCheckUtils]: 9: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 10:09:51,560 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1239#true} {1239#true} #63#return; {1239#true} is VALID [2022-04-15 10:09:51,560 INFO L290 TraceCheckUtils]: 11: Hoare triple {1239#true} ~b~0 := #t~nondet5;havoc #t~nondet5; {1239#true} is VALID [2022-04-15 10:09:51,560 INFO L272 TraceCheckUtils]: 12: Hoare triple {1239#true} call assume_abort_if_not((if ~b~0 % 4294967296 >= 0 && ~b~0 % 4294967296 <= 1 then 1 else 0)); {1239#true} is VALID [2022-04-15 10:09:51,560 INFO L290 TraceCheckUtils]: 13: Hoare triple {1239#true} ~cond := #in~cond; {1283#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:09:51,561 INFO L290 TraceCheckUtils]: 14: Hoare triple {1283#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1287#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:09:51,561 INFO L290 TraceCheckUtils]: 15: Hoare triple {1287#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1287#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:09:51,562 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1287#(not (= |assume_abort_if_not_#in~cond| 0))} {1239#true} #65#return; {1294#(<= (mod main_~b~0 4294967296) 1)} is VALID [2022-04-15 10:09:51,562 INFO L272 TraceCheckUtils]: 17: Hoare triple {1294#(<= (mod main_~b~0 4294967296) 1)} call assume_abort_if_not((if ~a~0 % 4294967296 >= 1 then 1 else 0)); {1239#true} is VALID [2022-04-15 10:09:51,562 INFO L290 TraceCheckUtils]: 18: Hoare triple {1239#true} ~cond := #in~cond; {1283#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:09:51,563 INFO L290 TraceCheckUtils]: 19: Hoare triple {1283#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1287#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:09:51,563 INFO L290 TraceCheckUtils]: 20: Hoare triple {1287#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1287#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:09:51,564 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1287#(not (= |assume_abort_if_not_#in~cond| 0))} {1294#(<= (mod main_~b~0 4294967296) 1)} #67#return; {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} is VALID [2022-04-15 10:09:51,564 INFO L272 TraceCheckUtils]: 22: Hoare triple {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} call assume_abort_if_not((if ~b~0 % 4294967296 >= 1 then 1 else 0)); {1239#true} is VALID [2022-04-15 10:09:51,564 INFO L290 TraceCheckUtils]: 23: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 10:09:51,564 INFO L290 TraceCheckUtils]: 24: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 10:09:51,564 INFO L290 TraceCheckUtils]: 25: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 10:09:51,565 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1239#true} {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} #69#return; {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} is VALID [2022-04-15 10:09:51,565 INFO L272 TraceCheckUtils]: 27: Hoare triple {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} call assume_abort_if_not((if ~a~0 % 4294967296 <= 65535 then 1 else 0)); {1239#true} is VALID [2022-04-15 10:09:51,565 INFO L290 TraceCheckUtils]: 28: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 10:09:51,567 INFO L290 TraceCheckUtils]: 29: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 10:09:51,567 INFO L290 TraceCheckUtils]: 30: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 10:09:51,568 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1239#true} {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} #71#return; {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} is VALID [2022-04-15 10:09:51,568 INFO L272 TraceCheckUtils]: 32: Hoare triple {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} call assume_abort_if_not((if ~b~0 % 4294967296 <= 65535 then 1 else 0)); {1239#true} is VALID [2022-04-15 10:09:51,568 INFO L290 TraceCheckUtils]: 33: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 10:09:51,572 INFO L290 TraceCheckUtils]: 34: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 10:09:51,575 INFO L290 TraceCheckUtils]: 35: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 10:09:51,579 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1239#true} {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} #73#return; {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} is VALID [2022-04-15 10:09:51,580 INFO L290 TraceCheckUtils]: 37: Hoare triple {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} ~x~0 := ~a~0;~y~0 := ~b~0;~u~0 := ~b~0;~v~0 := ~a~0; {1359#(and (<= 1 (mod main_~x~0 4294967296)) (<= (mod main_~y~0 4294967296) 1))} is VALID [2022-04-15 10:09:51,580 INFO L290 TraceCheckUtils]: 38: Hoare triple {1359#(and (<= 1 (mod main_~x~0 4294967296)) (<= (mod main_~y~0 4294967296) 1))} assume !false; {1359#(and (<= 1 (mod main_~x~0 4294967296)) (<= (mod main_~y~0 4294967296) 1))} is VALID [2022-04-15 10:09:51,580 INFO L272 TraceCheckUtils]: 39: Hoare triple {1359#(and (<= 1 (mod main_~x~0 4294967296)) (<= (mod main_~y~0 4294967296) 1))} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {1239#true} is VALID [2022-04-15 10:09:51,580 INFO L290 TraceCheckUtils]: 40: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 10:09:51,580 INFO L290 TraceCheckUtils]: 41: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 10:09:51,581 INFO L290 TraceCheckUtils]: 42: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 10:09:51,581 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1239#true} {1359#(and (<= 1 (mod main_~x~0 4294967296)) (<= (mod main_~y~0 4294967296) 1))} #75#return; {1359#(and (<= 1 (mod main_~x~0 4294967296)) (<= (mod main_~y~0 4294967296) 1))} is VALID [2022-04-15 10:09:51,582 INFO L290 TraceCheckUtils]: 44: Hoare triple {1359#(and (<= 1 (mod main_~x~0 4294967296)) (<= (mod main_~y~0 4294967296) 1))} assume !!(~x~0 % 4294967296 != ~y~0 % 4294967296); {1381#(and (not (= (mod main_~x~0 4294967296) (mod main_~y~0 4294967296))) (<= 1 (mod main_~x~0 4294967296)) (<= (mod main_~y~0 4294967296) 1))} is VALID [2022-04-15 10:09:51,583 INFO L290 TraceCheckUtils]: 45: Hoare triple {1381#(and (not (= (mod main_~x~0 4294967296) (mod main_~y~0 4294967296))) (<= 1 (mod main_~x~0 4294967296)) (<= (mod main_~y~0 4294967296) 1))} assume !(~x~0 % 4294967296 > ~y~0 % 4294967296);~y~0 := ~y~0 - ~x~0;~u~0 := ~u~0 + ~v~0; {1240#false} is VALID [2022-04-15 10:09:51,583 INFO L290 TraceCheckUtils]: 46: Hoare triple {1240#false} assume !false; {1240#false} is VALID [2022-04-15 10:09:51,583 INFO L272 TraceCheckUtils]: 47: Hoare triple {1240#false} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {1240#false} is VALID [2022-04-15 10:09:51,583 INFO L290 TraceCheckUtils]: 48: Hoare triple {1240#false} ~cond := #in~cond; {1240#false} is VALID [2022-04-15 10:09:51,583 INFO L290 TraceCheckUtils]: 49: Hoare triple {1240#false} assume 0 == ~cond; {1240#false} is VALID [2022-04-15 10:09:51,584 INFO L290 TraceCheckUtils]: 50: Hoare triple {1240#false} assume !false; {1240#false} is VALID [2022-04-15 10:09:51,584 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 10 proven. 18 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-15 10:09:51,584 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:09:54,657 INFO L290 TraceCheckUtils]: 50: Hoare triple {1240#false} assume !false; {1240#false} is VALID [2022-04-15 10:09:54,657 INFO L290 TraceCheckUtils]: 49: Hoare triple {1240#false} assume 0 == ~cond; {1240#false} is VALID [2022-04-15 10:09:54,657 INFO L290 TraceCheckUtils]: 48: Hoare triple {1240#false} ~cond := #in~cond; {1240#false} is VALID [2022-04-15 10:09:54,657 INFO L272 TraceCheckUtils]: 47: Hoare triple {1240#false} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {1240#false} is VALID [2022-04-15 10:09:54,657 INFO L290 TraceCheckUtils]: 46: Hoare triple {1240#false} assume !false; {1240#false} is VALID [2022-04-15 10:09:54,658 INFO L290 TraceCheckUtils]: 45: Hoare triple {1415#(< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296))} assume !(~x~0 % 4294967296 > ~y~0 % 4294967296);~y~0 := ~y~0 - ~x~0;~u~0 := ~u~0 + ~v~0; {1240#false} is VALID [2022-04-15 10:09:54,658 INFO L290 TraceCheckUtils]: 44: Hoare triple {1419#(or (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)) (= (mod main_~x~0 4294967296) (mod main_~y~0 4294967296)))} assume !!(~x~0 % 4294967296 != ~y~0 % 4294967296); {1415#(< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296))} is VALID [2022-04-15 10:09:54,659 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1239#true} {1419#(or (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)) (= (mod main_~x~0 4294967296) (mod main_~y~0 4294967296)))} #75#return; {1419#(or (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)) (= (mod main_~x~0 4294967296) (mod main_~y~0 4294967296)))} is VALID [2022-04-15 10:09:54,659 INFO L290 TraceCheckUtils]: 42: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 10:09:54,659 INFO L290 TraceCheckUtils]: 41: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 10:09:54,660 INFO L290 TraceCheckUtils]: 40: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 10:09:54,660 INFO L272 TraceCheckUtils]: 39: Hoare triple {1419#(or (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)) (= (mod main_~x~0 4294967296) (mod main_~y~0 4294967296)))} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {1239#true} is VALID [2022-04-15 10:09:54,660 INFO L290 TraceCheckUtils]: 38: Hoare triple {1419#(or (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)) (= (mod main_~x~0 4294967296) (mod main_~y~0 4294967296)))} assume !false; {1419#(or (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)) (= (mod main_~x~0 4294967296) (mod main_~y~0 4294967296)))} is VALID [2022-04-15 10:09:54,661 INFO L290 TraceCheckUtils]: 37: Hoare triple {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} ~x~0 := ~a~0;~y~0 := ~b~0;~u~0 := ~b~0;~v~0 := ~a~0; {1419#(or (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)) (= (mod main_~x~0 4294967296) (mod main_~y~0 4294967296)))} is VALID [2022-04-15 10:09:54,661 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1239#true} {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} #73#return; {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} is VALID [2022-04-15 10:09:54,661 INFO L290 TraceCheckUtils]: 35: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 10:09:54,662 INFO L290 TraceCheckUtils]: 34: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 10:09:54,662 INFO L290 TraceCheckUtils]: 33: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 10:09:54,662 INFO L272 TraceCheckUtils]: 32: Hoare triple {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} call assume_abort_if_not((if ~b~0 % 4294967296 <= 65535 then 1 else 0)); {1239#true} is VALID [2022-04-15 10:09:54,662 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1239#true} {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} #71#return; {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} is VALID [2022-04-15 10:09:54,663 INFO L290 TraceCheckUtils]: 30: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 10:09:54,663 INFO L290 TraceCheckUtils]: 29: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 10:09:54,663 INFO L290 TraceCheckUtils]: 28: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 10:09:54,663 INFO L272 TraceCheckUtils]: 27: Hoare triple {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} call assume_abort_if_not((if ~a~0 % 4294967296 <= 65535 then 1 else 0)); {1239#true} is VALID [2022-04-15 10:09:54,664 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1239#true} {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} #69#return; {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} is VALID [2022-04-15 10:09:54,664 INFO L290 TraceCheckUtils]: 25: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 10:09:54,664 INFO L290 TraceCheckUtils]: 24: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 10:09:54,664 INFO L290 TraceCheckUtils]: 23: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 10:09:54,664 INFO L272 TraceCheckUtils]: 22: Hoare triple {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} call assume_abort_if_not((if ~b~0 % 4294967296 >= 1 then 1 else 0)); {1239#true} is VALID [2022-04-15 10:09:54,665 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1287#(not (= |assume_abort_if_not_#in~cond| 0))} {1294#(<= (mod main_~b~0 4294967296) 1)} #67#return; {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} is VALID [2022-04-15 10:09:54,666 INFO L290 TraceCheckUtils]: 20: Hoare triple {1287#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1287#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:09:54,666 INFO L290 TraceCheckUtils]: 19: Hoare triple {1499#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1287#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:09:54,667 INFO L290 TraceCheckUtils]: 18: Hoare triple {1239#true} ~cond := #in~cond; {1499#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 10:09:54,667 INFO L272 TraceCheckUtils]: 17: Hoare triple {1294#(<= (mod main_~b~0 4294967296) 1)} call assume_abort_if_not((if ~a~0 % 4294967296 >= 1 then 1 else 0)); {1239#true} is VALID [2022-04-15 10:09:54,667 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1287#(not (= |assume_abort_if_not_#in~cond| 0))} {1239#true} #65#return; {1294#(<= (mod main_~b~0 4294967296) 1)} is VALID [2022-04-15 10:09:54,668 INFO L290 TraceCheckUtils]: 15: Hoare triple {1287#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1287#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:09:54,668 INFO L290 TraceCheckUtils]: 14: Hoare triple {1499#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1287#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:09:54,669 INFO L290 TraceCheckUtils]: 13: Hoare triple {1239#true} ~cond := #in~cond; {1499#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 10:09:54,669 INFO L272 TraceCheckUtils]: 12: Hoare triple {1239#true} call assume_abort_if_not((if ~b~0 % 4294967296 >= 0 && ~b~0 % 4294967296 <= 1 then 1 else 0)); {1239#true} is VALID [2022-04-15 10:09:54,669 INFO L290 TraceCheckUtils]: 11: Hoare triple {1239#true} ~b~0 := #t~nondet5;havoc #t~nondet5; {1239#true} is VALID [2022-04-15 10:09:54,671 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1239#true} {1239#true} #63#return; {1239#true} is VALID [2022-04-15 10:09:54,671 INFO L290 TraceCheckUtils]: 9: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 10:09:54,671 INFO L290 TraceCheckUtils]: 8: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 10:09:54,671 INFO L290 TraceCheckUtils]: 7: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 10:09:54,671 INFO L272 TraceCheckUtils]: 6: Hoare triple {1239#true} call assume_abort_if_not((if ~a~0 % 4294967296 >= 0 && ~a~0 % 4294967296 <= 1 then 1 else 0)); {1239#true} is VALID [2022-04-15 10:09:54,672 INFO L290 TraceCheckUtils]: 5: Hoare triple {1239#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~u~0;havoc ~v~0;~a~0 := #t~nondet4;havoc #t~nondet4; {1239#true} is VALID [2022-04-15 10:09:54,672 INFO L272 TraceCheckUtils]: 4: Hoare triple {1239#true} call #t~ret6 := main(); {1239#true} is VALID [2022-04-15 10:09:54,672 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1239#true} {1239#true} #79#return; {1239#true} is VALID [2022-04-15 10:09:54,672 INFO L290 TraceCheckUtils]: 2: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 10:09:54,672 INFO L290 TraceCheckUtils]: 1: Hoare triple {1239#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(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {1239#true} is VALID [2022-04-15 10:09:54,672 INFO L272 TraceCheckUtils]: 0: Hoare triple {1239#true} call ULTIMATE.init(); {1239#true} is VALID [2022-04-15 10:09:54,673 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 10 proven. 18 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-15 10:09:54,673 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:09:54,673 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [501693734] [2022-04-15 10:09:54,673 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:09:54,673 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1188964010] [2022-04-15 10:09:54,674 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1188964010] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:09:54,674 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:09:54,674 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-15 10:09:54,674 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:09:54,674 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [780464698] [2022-04-15 10:09:54,674 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [780464698] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:09:54,674 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:09:54,675 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 10:09:54,675 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [582214161] [2022-04-15 10:09:54,675 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:09:54,675 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 51 [2022-04-15 10:09:54,676 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:09:54,676 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 10:09:54,710 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:09:54,710 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 10:09:54,710 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:09:54,711 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 10:09:54,711 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-15 10:09:54,711 INFO L87 Difference]: Start difference. First operand 37 states and 44 transitions. Second operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 10:09:55,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:09:55,171 INFO L93 Difference]: Finished difference Result 39 states and 46 transitions. [2022-04-15 10:09:55,171 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 10:09:55,172 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 51 [2022-04-15 10:09:55,172 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:09:55,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 10:09:55,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 46 transitions. [2022-04-15 10:09:55,174 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 10:09:55,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 46 transitions. [2022-04-15 10:09:55,176 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 46 transitions. [2022-04-15 10:09:55,220 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-15 10:09:55,220 INFO L225 Difference]: With dead ends: 39 [2022-04-15 10:09:55,220 INFO L226 Difference]: Without dead ends: 0 [2022-04-15 10:09:55,221 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-15 10:09:55,222 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 10 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 83 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 86 SdHoareTripleChecker+Invalid, 89 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 83 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 10:09:55,222 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 86 Invalid, 89 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 83 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 10:09:55,223 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-15 10:09:55,223 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-15 10:09:55,223 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:09:55,223 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-15 10:09:55,223 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-15 10:09:55,223 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-15 10:09:55,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:09:55,223 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 10:09:55,223 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 10:09:55,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:09:55,224 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:09:55,224 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-15 10:09:55,224 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-15 10:09:55,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:09:55,224 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 10:09:55,224 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 10:09:55,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:09:55,224 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:09:55,224 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:09:55,224 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:09:55,225 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-15 10:09:55,225 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-15 10:09:55,225 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 51 [2022-04-15 10:09:55,225 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:09:55,225 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-15 10:09:55,227 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 10:09:55,227 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-15 10:09:55,227 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-15 10:09:55,227 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 10:09:55,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:09:55,229 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-15 10:09:55,237 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-15 10:09:55,430 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:09:55,436 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-15 10:09:55,693 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 5) no Hoare annotation was computed. [2022-04-15 10:09:55,693 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 5) no Hoare annotation was computed. [2022-04-15 10:09:55,693 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 5) no Hoare annotation was computed. [2022-04-15 10:09:55,693 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 8 10) the Hoare annotation is: true [2022-04-15 10:09:55,694 INFO L878 garLoopResultBuilder]: At program point L9(line 9) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-15 10:09:55,694 INFO L878 garLoopResultBuilder]: At program point L9-2(lines 8 10) 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-15 10:09:55,694 INFO L878 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 8 10) 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-15 10:09:55,694 INFO L878 garLoopResultBuilder]: At program point L29(line 29) the Hoare annotation is: (let ((.cse0 (mod main_~a~0 4294967296)) (.cse1 (mod main_~b~0 4294967296))) (and (<= .cse0 1) (<= 1 .cse1) (<= 1 .cse0) (<= .cse1 1))) [2022-04-15 10:09:55,694 INFO L878 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (let ((.cse0 (mod main_~a~0 4294967296)) (.cse1 (mod main_~b~0 4294967296))) (and (<= .cse0 1) (<= 1 .cse1) (<= 1 .cse0) (<= .cse1 1))) [2022-04-15 10:09:55,694 INFO L878 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: (<= (mod main_~a~0 4294967296) 1) [2022-04-15 10:09:55,694 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 19 57) the Hoare annotation is: true [2022-04-15 10:09:55,694 INFO L878 garLoopResultBuilder]: At program point L25-1(line 25) the Hoare annotation is: (and (<= (mod main_~a~0 4294967296) 1) (<= (mod main_~b~0 4294967296) 1)) [2022-04-15 10:09:55,694 INFO L885 garLoopResultBuilder]: At program point L23(line 23) the Hoare annotation is: true [2022-04-15 10:09:55,695 INFO L878 garLoopResultBuilder]: At program point L23-1(line 23) the Hoare annotation is: (<= (mod main_~a~0 4294967296) 1) [2022-04-15 10:09:55,695 INFO L885 garLoopResultBuilder]: At program point L52(line 52) the Hoare annotation is: true [2022-04-15 10:09:55,695 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 19 57) the Hoare annotation is: true [2022-04-15 10:09:55,695 INFO L878 garLoopResultBuilder]: At program point L38(line 38) the Hoare annotation is: (and (= main_~a~0 main_~v~0) (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~a~0 4294967296)) (= main_~b~0 main_~y~0) (= main_~b~0 main_~u~0) (<= (mod main_~b~0 4294967296) 1) (= main_~a~0 main_~x~0) (<= 1 (mod main_~y~0 4294967296))) [2022-04-15 10:09:55,695 INFO L878 garLoopResultBuilder]: At program point L38-1(lines 37 50) the Hoare annotation is: (and (= main_~a~0 main_~v~0) (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~a~0 4294967296)) (= main_~b~0 main_~y~0) (= main_~b~0 main_~u~0) (<= (mod main_~b~0 4294967296) 1) (= main_~a~0 main_~x~0) (<= 1 (mod main_~y~0 4294967296))) [2022-04-15 10:09:55,695 INFO L878 garLoopResultBuilder]: At program point L30(line 30) the Hoare annotation is: (let ((.cse0 (mod main_~a~0 4294967296)) (.cse1 (mod main_~b~0 4294967296))) (and (<= .cse0 1) (<= 1 .cse1) (<= 1 .cse0) (<= .cse1 1))) [2022-04-15 10:09:55,695 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 19 57) the Hoare annotation is: true [2022-04-15 10:09:55,695 INFO L878 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: (let ((.cse0 (mod main_~a~0 4294967296))) (and (<= .cse0 1) (<= 1 .cse0) (<= (mod main_~b~0 4294967296) 1))) [2022-04-15 10:09:55,696 INFO L878 garLoopResultBuilder]: At program point L43(lines 43 49) the Hoare annotation is: false [2022-04-15 10:09:55,696 INFO L878 garLoopResultBuilder]: At program point L43-2(lines 37 50) the Hoare annotation is: (and (= main_~a~0 main_~v~0) (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~a~0 4294967296)) (= main_~b~0 main_~y~0) (= main_~b~0 main_~u~0) (<= (mod main_~b~0 4294967296) 1) (= main_~a~0 main_~x~0) (<= 1 (mod main_~y~0 4294967296))) [2022-04-15 10:09:55,696 INFO L878 garLoopResultBuilder]: At program point L37-2(lines 37 50) the Hoare annotation is: (and (= main_~a~0 main_~v~0) (= main_~b~0 main_~y~0) (= main_~b~0 main_~u~0) (= main_~a~0 main_~x~0)) [2022-04-15 10:09:55,696 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-15 10:09:55,696 INFO L878 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-15 10:09:55,696 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-15 10:09:55,696 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-15 10:09:55,696 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-15 10:09:55,696 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-15 10:09:55,696 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-15 10:09:55,697 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 11 17) the Hoare annotation is: true [2022-04-15 10:09:55,697 INFO L878 garLoopResultBuilder]: At program point L13(lines 13 14) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 10:09:55,697 INFO L878 garLoopResultBuilder]: At program point L12(lines 12 15) the Hoare annotation is: (or (not (<= 1 |__VERIFIER_assert_#in~cond|)) (<= 1 __VERIFIER_assert_~cond)) [2022-04-15 10:09:55,697 INFO L878 garLoopResultBuilder]: At program point L12-2(lines 11 17) the Hoare annotation is: (or (not (<= 1 |__VERIFIER_assert_#in~cond|)) (<= 1 __VERIFIER_assert_~cond)) [2022-04-15 10:09:55,697 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 11 17) the Hoare annotation is: (or (not (<= 1 |__VERIFIER_assert_#in~cond|)) (<= 1 __VERIFIER_assert_~cond)) [2022-04-15 10:09:55,697 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 14) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 10:09:55,700 INFO L719 BasicCegarLoop]: Path program histogram: [2, 2, 2, 2] [2022-04-15 10:09:55,701 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-15 10:09:55,703 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-15 10:09:55,715 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-15 10:09:55,731 INFO L163 areAnnotationChecker]: CFG has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-15 10:09:55,748 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.04 10:09:55 BoogieIcfgContainer [2022-04-15 10:09:55,748 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-15 10:09:55,749 INFO L158 Benchmark]: Toolchain (without parser) took 14560.36ms. Allocated memory was 210.8MB in the beginning and 266.3MB in the end (delta: 55.6MB). Free memory was 163.1MB in the beginning and 154.1MB in the end (delta: 9.0MB). Peak memory consumption was 65.6MB. Max. memory is 8.0GB. [2022-04-15 10:09:55,749 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 210.8MB. Free memory is still 178.9MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-15 10:09:55,750 INFO L158 Benchmark]: CACSL2BoogieTranslator took 220.97ms. Allocated memory is still 210.8MB. Free memory was 162.8MB in the beginning and 189.0MB in the end (delta: -26.1MB). Peak memory consumption was 14.3MB. Max. memory is 8.0GB. [2022-04-15 10:09:55,750 INFO L158 Benchmark]: Boogie Preprocessor took 27.16ms. Allocated memory is still 210.8MB. Free memory was 189.0MB in the beginning and 187.4MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-15 10:09:55,750 INFO L158 Benchmark]: RCFGBuilder took 279.15ms. Allocated memory is still 210.8MB. Free memory was 187.4MB in the beginning and 175.9MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-15 10:09:55,751 INFO L158 Benchmark]: TraceAbstraction took 14028.00ms. Allocated memory was 210.8MB in the beginning and 266.3MB in the end (delta: 55.6MB). Free memory was 175.3MB in the beginning and 154.1MB in the end (delta: 21.2MB). Peak memory consumption was 77.5MB. Max. memory is 8.0GB. [2022-04-15 10:09:55,753 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.11ms. Allocated memory is still 210.8MB. Free memory is still 178.9MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 220.97ms. Allocated memory is still 210.8MB. Free memory was 162.8MB in the beginning and 189.0MB in the end (delta: -26.1MB). Peak memory consumption was 14.3MB. Max. memory is 8.0GB. * Boogie Preprocessor took 27.16ms. Allocated memory is still 210.8MB. Free memory was 189.0MB in the beginning and 187.4MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 279.15ms. Allocated memory is still 210.8MB. Free memory was 187.4MB in the beginning and 175.9MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 14028.00ms. Allocated memory was 210.8MB in the beginning and 266.3MB in the end (delta: 55.6MB). Free memory was 175.3MB in the beginning and 154.1MB in the end (delta: 21.2MB). Peak memory consumption was 77.5MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 14]: 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, 37 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 13.9s, OverallIterations: 4, TraceHistogramMax: 6, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 2.3s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.3s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 66 SdHoareTripleChecker+Valid, 0.5s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 54 mSDsluCounter, 320 SdHoareTripleChecker+Invalid, 0.5s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 209 mSDsCounter, 24 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 213 IncrementalHoareTripleChecker+Invalid, 237 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 24 mSolverCounterUnsat, 111 mSDtfsCounter, 213 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 272 GetRequests, 242 SyntacticMatches, 2 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 0.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=37occurred in iteration=3, InterpolantAutomatonStates: 25, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.1s AutomataMinimizationTime, 4 MinimizatonAttempts, 3 StatesRemovedByMinimization, 2 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 34 LocationsWithAnnotation, 116 PreInvPairs, 155 NumberOfFragments, 284 HoareAnnotationTreeSize, 116 FomulaSimplifications, 0 FormulaSimplificationTreeSizeReduction, 0.0s HoareSimplificationTime, 34 FomulaSimplificationsInter, 181 FormulaSimplificationTreeSizeReductionInter, 0.2s 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: 37]: Loop Invariant Derived loop invariant: ((((((a == v && x % 4294967296 <= 1) && 1 <= a % 4294967296) && b == y) && b == u) && b % 4294967296 <= 1) && a == x) && 1 <= y % 4294967296 - ProcedureContractResult [Line: 8]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 19]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 11]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: !(1 <= \old(cond)) || 1 <= cond RESULT: Ultimate proved your program to be correct! [2022-04-15 10:09:55,782 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...