/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/lcm2_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 13:42:36,574 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 13:42:36,600 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 13:42:36,623 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 13:42:36,623 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 13:42:36,624 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 13:42:36,624 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 13:42:36,625 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 13:42:36,626 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 13:42:36,627 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 13:42:36,627 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 13:42:36,628 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 13:42:36,628 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 13:42:36,629 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 13:42:36,629 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 13:42:36,630 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 13:42:36,630 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 13:42:36,631 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 13:42:36,632 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 13:42:36,633 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 13:42:36,634 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 13:42:36,639 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 13:42:36,641 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 13:42:36,643 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 13:42:36,644 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 13:42:36,654 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 13:42:36,654 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 13:42:36,655 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 13:42:36,655 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 13:42:36,655 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 13:42:36,656 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 13:42:36,656 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 13:42:36,656 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 13:42:36,657 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 13:42:36,657 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 13:42:36,658 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 13:42:36,658 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 13:42:36,658 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 13:42:36,658 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 13:42:36,658 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 13:42:36,659 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 13:42:36,664 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 13:42:36,665 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 13:42:36,673 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 13:42:36,673 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 13:42:36,674 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 13:42:36,674 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 13:42:36,674 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 13:42:36,674 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 13:42:36,674 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 13:42:36,674 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 13:42:36,675 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 13:42:36,675 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 13:42:36,675 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 13:42:36,675 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 13:42:36,675 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 13:42:36,676 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 13:42:36,676 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 13:42:36,676 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 13:42:36,676 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 13:42:36,676 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 13:42:36,676 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 13:42:36,676 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 13:42:36,676 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 13:42:36,676 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 13:42:36,676 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-08 13:42:36,860 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 13:42:36,877 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 13:42:36,879 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 13:42:36,880 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 13:42:36,880 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 13:42:36,881 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-08 13:42:36,929 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4ab6b6405/ec34e65d24ff4154930d78989b4e4921/FLAGdf5d16de9 [2022-04-08 13:42:37,301 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 13:42:37,301 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/lcm2_valuebound1.c [2022-04-08 13:42:37,306 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4ab6b6405/ec34e65d24ff4154930d78989b4e4921/FLAGdf5d16de9 [2022-04-08 13:42:37,317 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4ab6b6405/ec34e65d24ff4154930d78989b4e4921 [2022-04-08 13:42:37,319 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 13:42:37,320 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 13:42:37,322 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 13:42:37,322 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 13:42:37,324 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 13:42:37,328 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 01:42:37" (1/1) ... [2022-04-08 13:42:37,329 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@50b826ba and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:42:37, skipping insertion in model container [2022-04-08 13:42:37,329 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 01:42:37" (1/1) ... [2022-04-08 13:42:37,334 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 13:42:37,345 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 13:42:37,492 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-08 13:42:37,516 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 13:42:37,522 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 13:42:37,533 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/lcm2_valuebound1.c[537,550] [2022-04-08 13:42:37,551 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 13:42:37,561 INFO L208 MainTranslator]: Completed translation [2022-04-08 13:42:37,561 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:42:37 WrapperNode [2022-04-08 13:42:37,562 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 13:42:37,562 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 13:42:37,562 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 13:42:37,563 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 13:42:37,570 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:42:37" (1/1) ... [2022-04-08 13:42:37,571 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:42:37" (1/1) ... [2022-04-08 13:42:37,575 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:42:37" (1/1) ... [2022-04-08 13:42:37,576 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:42:37" (1/1) ... [2022-04-08 13:42:37,584 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:42:37" (1/1) ... [2022-04-08 13:42:37,588 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:42:37" (1/1) ... [2022-04-08 13:42:37,595 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:42:37" (1/1) ... [2022-04-08 13:42:37,596 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 13:42:37,597 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 13:42:37,597 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 13:42:37,597 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 13:42:37,598 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:42:37" (1/1) ... [2022-04-08 13:42:37,604 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 13:42:37,610 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:42:37,620 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-08 13:42:37,627 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-08 13:42:37,642 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 13:42:37,643 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 13:42:37,643 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 13:42:37,643 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 13:42:37,643 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 13:42:37,643 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 13:42:37,644 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 13:42:37,644 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 13:42:37,644 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 13:42:37,644 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 13:42:37,644 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-08 13:42:37,644 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 13:42:37,644 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 13:42:37,644 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 13:42:37,645 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 13:42:37,646 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 13:42:37,646 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 13:42:37,646 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 13:42:37,646 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 13:42:37,646 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 13:42:37,687 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 13:42:37,688 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 13:42:37,857 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 13:42:37,862 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 13:42:37,862 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 13:42:37,863 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 01:42:37 BoogieIcfgContainer [2022-04-08 13:42:37,863 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 13:42:37,864 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 13:42:37,864 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 13:42:37,881 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 13:42:37,882 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 01:42:37" (1/3) ... [2022-04-08 13:42:37,882 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1569fd8a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 01:42:37, skipping insertion in model container [2022-04-08 13:42:37,882 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 01:42:37" (2/3) ... [2022-04-08 13:42:37,882 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1569fd8a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 01:42:37, skipping insertion in model container [2022-04-08 13:42:37,882 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 01:42:37" (3/3) ... [2022-04-08 13:42:37,883 INFO L111 eAbstractionObserver]: Analyzing ICFG lcm2_valuebound1.c [2022-04-08 13:42:37,886 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 13:42:37,887 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 13:42:37,952 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 13:42:37,958 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-08 13:42:37,958 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 13:42:37,970 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-08 13:42:37,978 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 13:42:37,978 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:42:37,978 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-08 13:42:37,978 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:42:37,982 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:42:37,982 INFO L85 PathProgramCache]: Analyzing trace with hash 1830914611, now seen corresponding path program 1 times [2022-04-08 13:42:37,987 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:42:37,987 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1188141534] [2022-04-08 13:42:37,994 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:42:37,994 INFO L85 PathProgramCache]: Analyzing trace with hash 1830914611, now seen corresponding path program 2 times [2022-04-08 13:42:37,996 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:42:37,997 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [171643103] [2022-04-08 13:42:37,997 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:42:37,997 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:42:38,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:42:38,135 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 13:42:38,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:42:38,160 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-08 13:42:38,161 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-08 13:42:38,161 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #79#return; {37#true} is VALID [2022-04-08 13:42:38,161 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 13:42:38,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:42:38,171 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 13:42:38,171 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 13:42:38,172 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 13:42:38,172 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {37#true} #63#return; {38#false} is VALID [2022-04-08 13:42:38,173 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 13:42:38,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:42:38,187 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 13:42:38,188 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 13:42:38,188 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 13:42:38,188 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #65#return; {38#false} is VALID [2022-04-08 13:42:38,189 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 13:42:38,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:42:38,200 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 13:42:38,201 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 13:42:38,201 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 13:42:38,201 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #67#return; {38#false} is VALID [2022-04-08 13:42:38,201 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 13:42:38,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:42:38,207 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 13:42:38,208 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 13:42:38,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 13:42:38,209 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #69#return; {38#false} is VALID [2022-04-08 13:42:38,210 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-08 13:42:38,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:42:38,220 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 13:42:38,221 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 13:42:38,221 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 13:42:38,221 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #71#return; {38#false} is VALID [2022-04-08 13:42:38,221 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 32 [2022-04-08 13:42:38,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:42:38,238 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 13:42:38,239 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 13:42:38,239 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 13:42:38,239 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-08 13:42:38,240 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-08 13:42:38,240 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-08 13:42:38,240 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-08 13:42:38,240 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #79#return; {37#true} is VALID [2022-04-08 13:42:38,240 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret6 := main(); {37#true} is VALID [2022-04-08 13:42:38,241 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-08 13:42:38,241 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-08 13:42:38,241 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 13:42:38,242 INFO L290 TraceCheckUtils]: 8: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 13:42:38,242 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 13:42:38,242 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38#false} {37#true} #63#return; {38#false} is VALID [2022-04-08 13:42:38,242 INFO L290 TraceCheckUtils]: 11: Hoare triple {38#false} ~b~0 := #t~nondet5;havoc #t~nondet5; {38#false} is VALID [2022-04-08 13:42:38,242 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-08 13:42:38,243 INFO L290 TraceCheckUtils]: 13: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 13:42:38,244 INFO L290 TraceCheckUtils]: 14: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 13:42:38,244 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 13:42:38,244 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38#false} {38#false} #65#return; {38#false} is VALID [2022-04-08 13:42:38,244 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-08 13:42:38,244 INFO L290 TraceCheckUtils]: 18: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 13:42:38,245 INFO L290 TraceCheckUtils]: 19: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 13:42:38,246 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 13:42:38,248 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38#false} {38#false} #67#return; {38#false} is VALID [2022-04-08 13:42:38,248 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-08 13:42:38,248 INFO L290 TraceCheckUtils]: 23: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 13:42:38,249 INFO L290 TraceCheckUtils]: 24: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 13:42:38,249 INFO L290 TraceCheckUtils]: 25: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 13:42:38,249 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {38#false} {38#false} #69#return; {38#false} is VALID [2022-04-08 13:42:38,249 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-08 13:42:38,249 INFO L290 TraceCheckUtils]: 28: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 13:42:38,250 INFO L290 TraceCheckUtils]: 29: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 13:42:38,251 INFO L290 TraceCheckUtils]: 30: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 13:42:38,251 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {38#false} {38#false} #71#return; {38#false} is VALID [2022-04-08 13:42:38,251 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-08 13:42:38,251 INFO L290 TraceCheckUtils]: 33: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 13:42:38,252 INFO L290 TraceCheckUtils]: 34: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 13:42:38,252 INFO L290 TraceCheckUtils]: 35: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 13:42:38,252 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-08 13:42:38,253 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-08 13:42:38,253 INFO L290 TraceCheckUtils]: 38: Hoare triple {38#false} assume !true; {38#false} is VALID [2022-04-08 13:42:38,253 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-08 13:42:38,254 INFO L290 TraceCheckUtils]: 40: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-08 13:42:38,254 INFO L290 TraceCheckUtils]: 41: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-08 13:42:38,255 INFO L290 TraceCheckUtils]: 42: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-08 13:42:38,256 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-08 13:42:38,256 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:42:38,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [171643103] [2022-04-08 13:42:38,257 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [171643103] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:42:38,257 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:42:38,257 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 13:42:38,259 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:42:38,259 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1188141534] [2022-04-08 13:42:38,259 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1188141534] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:42:38,259 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:42:38,259 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 13:42:38,259 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2028023412] [2022-04-08 13:42:38,260 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:42:38,265 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-08 13:42:38,267 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:42:38,269 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-08 13:42:38,309 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-08 13:42:38,309 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 13:42:38,309 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:42:38,328 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 13:42:38,329 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 13:42:38,331 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-08 13:42:38,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:42:38,491 INFO L93 Difference]: Finished difference Result 61 states and 90 transitions. [2022-04-08 13:42:38,492 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 13:42:38,492 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-08 13:42:38,492 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:42:38,493 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-08 13:42:38,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 90 transitions. [2022-04-08 13:42:38,504 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-08 13:42:38,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 90 transitions. [2022-04-08 13:42:38,515 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 90 transitions. [2022-04-08 13:42:38,604 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-08 13:42:38,612 INFO L225 Difference]: With dead ends: 61 [2022-04-08 13:42:38,612 INFO L226 Difference]: Without dead ends: 29 [2022-04-08 13:42:38,614 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-08 13:42:38,618 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-08 13:42:38,619 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.0s Time] [2022-04-08 13:42:38,629 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-08 13:42:38,639 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-08 13:42:38,639 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:42:38,640 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-08 13:42:38,640 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-08 13:42:38,641 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-08 13:42:38,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:42:38,646 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-08 13:42:38,647 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-08 13:42:38,647 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:42:38,647 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:42:38,648 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-08 13:42:38,648 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-08 13:42:38,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:42:38,653 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-08 13:42:38,659 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-08 13:42:38,660 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:42:38,660 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:42:38,660 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:42:38,660 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:42:38,661 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-08 13:42:38,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 36 transitions. [2022-04-08 13:42:38,666 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 36 transitions. Word has length 43 [2022-04-08 13:42:38,666 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:42:38,666 INFO L478 AbstractCegarLoop]: Abstraction has 29 states and 36 transitions. [2022-04-08 13:42:38,666 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-08 13:42:38,666 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 36 transitions. [2022-04-08 13:42:38,701 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-08 13:42:38,701 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-08 13:42:38,703 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 13:42:38,703 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:42:38,703 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-08 13:42:38,704 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 13:42:38,704 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:42:38,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:42:38,704 INFO L85 PathProgramCache]: Analyzing trace with hash 206107499, now seen corresponding path program 1 times [2022-04-08 13:42:38,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:42:38,705 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2004918505] [2022-04-08 13:42:38,705 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:42:38,705 INFO L85 PathProgramCache]: Analyzing trace with hash 206107499, now seen corresponding path program 2 times [2022-04-08 13:42:38,706 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:42:38,706 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1188341076] [2022-04-08 13:42:38,706 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:42:38,706 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:42:38,738 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:42:38,738 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1171187352] [2022-04-08 13:42:38,738 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:42:38,738 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:42:38,739 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:42:38,740 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-08 13:42:38,741 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-08 13:42:38,795 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 13:42:38,795 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:42:38,796 INFO L263 TraceCheckSpWp]: Trace formula consists of 82 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 13:42:38,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:42:38,821 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:42:39,167 INFO L272 TraceCheckUtils]: 0: Hoare triple {307#true} call ULTIMATE.init(); {307#true} is VALID [2022-04-08 13:42:39,168 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-08 13:42:39,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-08 13:42:39,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {307#true} {307#true} #79#return; {307#true} is VALID [2022-04-08 13:42:39,169 INFO L272 TraceCheckUtils]: 4: Hoare triple {307#true} call #t~ret6 := main(); {307#true} is VALID [2022-04-08 13:42:39,169 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-08 13:42:39,170 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-08 13:42:39,170 INFO L290 TraceCheckUtils]: 7: Hoare triple {307#true} ~cond := #in~cond; {307#true} is VALID [2022-04-08 13:42:39,170 INFO L290 TraceCheckUtils]: 8: Hoare triple {307#true} assume !(0 == ~cond); {307#true} is VALID [2022-04-08 13:42:39,170 INFO L290 TraceCheckUtils]: 9: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-08 13:42:39,170 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {307#true} {307#true} #63#return; {307#true} is VALID [2022-04-08 13:42:39,171 INFO L290 TraceCheckUtils]: 11: Hoare triple {307#true} ~b~0 := #t~nondet5;havoc #t~nondet5; {307#true} is VALID [2022-04-08 13:42:39,171 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-08 13:42:39,171 INFO L290 TraceCheckUtils]: 13: Hoare triple {307#true} ~cond := #in~cond; {307#true} is VALID [2022-04-08 13:42:39,171 INFO L290 TraceCheckUtils]: 14: Hoare triple {307#true} assume !(0 == ~cond); {307#true} is VALID [2022-04-08 13:42:39,171 INFO L290 TraceCheckUtils]: 15: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-08 13:42:39,172 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {307#true} {307#true} #65#return; {307#true} is VALID [2022-04-08 13:42:39,173 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-08 13:42:39,173 INFO L290 TraceCheckUtils]: 18: Hoare triple {307#true} ~cond := #in~cond; {307#true} is VALID [2022-04-08 13:42:39,173 INFO L290 TraceCheckUtils]: 19: Hoare triple {307#true} assume !(0 == ~cond); {307#true} is VALID [2022-04-08 13:42:39,173 INFO L290 TraceCheckUtils]: 20: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-08 13:42:39,174 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {307#true} {307#true} #67#return; {307#true} is VALID [2022-04-08 13:42:39,174 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-08 13:42:39,174 INFO L290 TraceCheckUtils]: 23: Hoare triple {307#true} ~cond := #in~cond; {307#true} is VALID [2022-04-08 13:42:39,174 INFO L290 TraceCheckUtils]: 24: Hoare triple {307#true} assume !(0 == ~cond); {307#true} is VALID [2022-04-08 13:42:39,174 INFO L290 TraceCheckUtils]: 25: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-08 13:42:39,174 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {307#true} {307#true} #69#return; {307#true} is VALID [2022-04-08 13:42:39,175 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-08 13:42:39,175 INFO L290 TraceCheckUtils]: 28: Hoare triple {307#true} ~cond := #in~cond; {307#true} is VALID [2022-04-08 13:42:39,175 INFO L290 TraceCheckUtils]: 29: Hoare triple {307#true} assume !(0 == ~cond); {307#true} is VALID [2022-04-08 13:42:39,177 INFO L290 TraceCheckUtils]: 30: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-08 13:42:39,177 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {307#true} {307#true} #71#return; {307#true} is VALID [2022-04-08 13:42:39,177 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-08 13:42:39,179 INFO L290 TraceCheckUtils]: 33: Hoare triple {307#true} ~cond := #in~cond; {307#true} is VALID [2022-04-08 13:42:39,180 INFO L290 TraceCheckUtils]: 34: Hoare triple {307#true} assume !(0 == ~cond); {307#true} is VALID [2022-04-08 13:42:39,180 INFO L290 TraceCheckUtils]: 35: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-08 13:42:39,181 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {307#true} {307#true} #73#return; {307#true} is VALID [2022-04-08 13:42:39,186 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-08 13:42:39,187 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-08 13:42:39,188 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-08 13:42:39,188 INFO L290 TraceCheckUtils]: 40: Hoare triple {430#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {434#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:42:39,188 INFO L290 TraceCheckUtils]: 41: Hoare triple {434#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {308#false} is VALID [2022-04-08 13:42:39,188 INFO L290 TraceCheckUtils]: 42: Hoare triple {308#false} assume !false; {308#false} is VALID [2022-04-08 13:42:39,189 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-08 13:42:39,189 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 13:42:39,189 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:42:39,189 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1188341076] [2022-04-08 13:42:39,189 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:42:39,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1171187352] [2022-04-08 13:42:39,190 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1171187352] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:42:39,190 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:42:39,190 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 13:42:39,191 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:42:39,191 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2004918505] [2022-04-08 13:42:39,191 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2004918505] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:42:39,191 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:42:39,191 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 13:42:39,191 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1493752158] [2022-04-08 13:42:39,191 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:42:39,192 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-08 13:42:39,192 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:42:39,192 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-08 13:42:39,216 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-08 13:42:39,216 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 13:42:39,216 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:42:39,217 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 13:42:39,217 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 13:42:39,217 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-08 13:42:39,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:42:39,398 INFO L93 Difference]: Finished difference Result 40 states and 49 transitions. [2022-04-08 13:42:39,398 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 13:42:39,398 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-08 13:42:39,399 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:42:39,399 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-08 13:42:39,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2022-04-08 13:42:39,400 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-08 13:42:39,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2022-04-08 13:42:39,402 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 49 transitions. [2022-04-08 13:42:39,447 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-08 13:42:39,449 INFO L225 Difference]: With dead ends: 40 [2022-04-08 13:42:39,449 INFO L226 Difference]: Without dead ends: 37 [2022-04-08 13:42:39,449 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-08 13:42:39,450 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 7 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-08 13:42:39,450 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.0s Time] [2022-04-08 13:42:39,451 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-08 13:42:39,458 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 36. [2022-04-08 13:42:39,459 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:42:39,459 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-08 13:42:39,459 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-08 13:42:39,459 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-08 13:42:39,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:42:39,461 INFO L93 Difference]: Finished difference Result 37 states and 45 transitions. [2022-04-08 13:42:39,461 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 45 transitions. [2022-04-08 13:42:39,462 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:42:39,462 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:42:39,462 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-08 13:42:39,462 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-08 13:42:39,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:42:39,464 INFO L93 Difference]: Finished difference Result 37 states and 45 transitions. [2022-04-08 13:42:39,464 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 45 transitions. [2022-04-08 13:42:39,465 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:42:39,465 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:42:39,465 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:42:39,465 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:42:39,465 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-08 13:42:39,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 43 transitions. [2022-04-08 13:42:39,467 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 43 transitions. Word has length 43 [2022-04-08 13:42:39,470 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:42:39,470 INFO L478 AbstractCegarLoop]: Abstraction has 36 states and 43 transitions. [2022-04-08 13:42:39,470 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-08 13:42:39,470 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 43 transitions. [2022-04-08 13:42:39,516 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-08 13:42:39,516 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 43 transitions. [2022-04-08 13:42:39,517 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-08 13:42:39,517 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:42:39,517 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-08 13:42:39,536 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 13:42:39,733 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-08 13:42:39,733 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:42:39,734 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:42:39,734 INFO L85 PathProgramCache]: Analyzing trace with hash 1555618915, now seen corresponding path program 1 times [2022-04-08 13:42:39,734 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:42:39,734 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1366023130] [2022-04-08 13:42:39,734 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:42:39,735 INFO L85 PathProgramCache]: Analyzing trace with hash 1555618915, now seen corresponding path program 2 times [2022-04-08 13:42:39,735 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:42:39,735 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1224379416] [2022-04-08 13:42:39,735 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:42:39,735 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:42:39,754 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:42:39,754 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1377829067] [2022-04-08 13:42:39,754 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:42:39,755 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:42:39,755 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:42:39,755 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-08 13:42:39,756 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-08 13:42:39,806 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:42:39,806 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:42:39,807 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-08 13:42:39,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:42:39,817 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:42:41,068 INFO L272 TraceCheckUtils]: 0: Hoare triple {668#true} call ULTIMATE.init(); {668#true} is VALID [2022-04-08 13:42:41,068 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-08 13:42:41,068 INFO L290 TraceCheckUtils]: 2: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-08 13:42:41,068 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {668#true} {668#true} #79#return; {668#true} is VALID [2022-04-08 13:42:41,069 INFO L272 TraceCheckUtils]: 4: Hoare triple {668#true} call #t~ret6 := main(); {668#true} is VALID [2022-04-08 13:42:41,069 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-08 13:42:41,069 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-08 13:42:41,069 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-08 13:42:41,079 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-08 13:42:41,079 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-08 13:42:41,080 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-08 13:42:41,080 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-08 13:42:41,090 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-08 13:42:41,090 INFO L290 TraceCheckUtils]: 13: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-08 13:42:41,090 INFO L290 TraceCheckUtils]: 14: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-08 13:42:41,090 INFO L290 TraceCheckUtils]: 15: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-08 13:42:41,091 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-08 13:42:41,091 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-08 13:42:41,091 INFO L290 TraceCheckUtils]: 18: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-08 13:42:41,091 INFO L290 TraceCheckUtils]: 19: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-08 13:42:41,092 INFO L290 TraceCheckUtils]: 20: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-08 13:42:41,092 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-08 13:42:41,092 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-08 13:42:41,093 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-08 13:42:41,093 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-08 13:42:41,093 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-08 13:42:41,094 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-08 13:42:41,094 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-08 13:42:41,094 INFO L290 TraceCheckUtils]: 28: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-08 13:42:41,094 INFO L290 TraceCheckUtils]: 29: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-08 13:42:41,094 INFO L290 TraceCheckUtils]: 30: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-08 13:42:41,095 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-08 13:42:41,095 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-08 13:42:41,095 INFO L290 TraceCheckUtils]: 33: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-08 13:42:41,095 INFO L290 TraceCheckUtils]: 34: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-08 13:42:41,095 INFO L290 TraceCheckUtils]: 35: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-08 13:42:41,095 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-08 13:42:41,096 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-08 13:42:41,096 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-08 13:42:41,096 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-08 13:42:41,097 INFO L290 TraceCheckUtils]: 40: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-08 13:42:41,097 INFO L290 TraceCheckUtils]: 41: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-08 13:42:41,097 INFO L290 TraceCheckUtils]: 42: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-08 13:42:41,097 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-08 13:42:41,098 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-08 13:42:41,099 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-08 13:42:41,099 INFO L290 TraceCheckUtils]: 46: Hoare triple {669#false} assume !false; {669#false} is VALID [2022-04-08 13:42:41,099 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-08 13:42:41,099 INFO L290 TraceCheckUtils]: 48: Hoare triple {669#false} ~cond := #in~cond; {669#false} is VALID [2022-04-08 13:42:41,099 INFO L290 TraceCheckUtils]: 49: Hoare triple {669#false} assume 0 == ~cond; {669#false} is VALID [2022-04-08 13:42:41,099 INFO L290 TraceCheckUtils]: 50: Hoare triple {669#false} assume !false; {669#false} is VALID [2022-04-08 13:42:41,099 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-08 13:42:41,100 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:42:42,331 INFO L290 TraceCheckUtils]: 50: Hoare triple {669#false} assume !false; {669#false} is VALID [2022-04-08 13:42:42,331 INFO L290 TraceCheckUtils]: 49: Hoare triple {669#false} assume 0 == ~cond; {669#false} is VALID [2022-04-08 13:42:42,332 INFO L290 TraceCheckUtils]: 48: Hoare triple {669#false} ~cond := #in~cond; {669#false} is VALID [2022-04-08 13:42:42,332 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-08 13:42:42,332 INFO L290 TraceCheckUtils]: 46: Hoare triple {669#false} assume !false; {669#false} is VALID [2022-04-08 13:42:42,332 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-08 13:42:42,332 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-08 13:42:42,333 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-08 13:42:42,333 INFO L290 TraceCheckUtils]: 42: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-08 13:42:42,333 INFO L290 TraceCheckUtils]: 41: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-08 13:42:42,333 INFO L290 TraceCheckUtils]: 40: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-08 13:42:42,333 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-08 13:42:42,334 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-08 13:42:42,335 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-08 13:42:42,335 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-08 13:42:42,335 INFO L290 TraceCheckUtils]: 35: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-08 13:42:42,335 INFO L290 TraceCheckUtils]: 34: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-08 13:42:42,336 INFO L290 TraceCheckUtils]: 33: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-08 13:42:42,336 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-08 13:42:42,337 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-08 13:42:42,337 INFO L290 TraceCheckUtils]: 30: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-08 13:42:42,337 INFO L290 TraceCheckUtils]: 29: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-08 13:42:42,337 INFO L290 TraceCheckUtils]: 28: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-08 13:42:42,337 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-08 13:42:42,338 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-08 13:42:42,339 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-08 13:42:42,339 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-08 13:42:42,339 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-08 13:42:42,339 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-08 13:42:42,340 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-08 13:42:42,341 INFO L290 TraceCheckUtils]: 20: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-08 13:42:42,341 INFO L290 TraceCheckUtils]: 19: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-08 13:42:42,341 INFO L290 TraceCheckUtils]: 18: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-08 13:42:42,341 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-08 13:42:42,341 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-08 13:42:42,341 INFO L290 TraceCheckUtils]: 15: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-08 13:42:42,341 INFO L290 TraceCheckUtils]: 14: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-08 13:42:42,342 INFO L290 TraceCheckUtils]: 13: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-08 13:42:42,342 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-08 13:42:42,342 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-08 13:42:42,342 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-08 13:42:42,343 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-08 13:42:42,343 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-08 13:42:42,344 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-08 13:42:42,344 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-08 13:42:42,344 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-08 13:42:42,344 INFO L272 TraceCheckUtils]: 4: Hoare triple {668#true} call #t~ret6 := main(); {668#true} is VALID [2022-04-08 13:42:42,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {668#true} {668#true} #79#return; {668#true} is VALID [2022-04-08 13:42:42,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-08 13:42:42,344 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-08 13:42:42,345 INFO L272 TraceCheckUtils]: 0: Hoare triple {668#true} call ULTIMATE.init(); {668#true} is VALID [2022-04-08 13:42:42,345 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-08 13:42:42,345 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:42:42,345 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1224379416] [2022-04-08 13:42:42,345 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:42:42,345 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1377829067] [2022-04-08 13:42:42,345 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1377829067] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:42:42,345 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:42:42,345 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-08 13:42:42,346 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:42:42,346 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1366023130] [2022-04-08 13:42:42,346 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1366023130] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:42:42,346 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:42:42,346 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 13:42:42,346 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [49183988] [2022-04-08 13:42:42,346 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:42:42,347 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-08 13:42:42,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:42:42,347 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-08 13:42:42,379 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-08 13:42:42,379 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 13:42:42,379 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:42:42,380 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 13:42:42,380 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-08 13:42:42,380 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-08 13:42:42,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:42:42,662 INFO L93 Difference]: Finished difference Result 50 states and 60 transitions. [2022-04-08 13:42:42,662 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 13:42:42,663 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-08 13:42:42,663 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:42:42,663 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-08 13:42:42,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-08 13:42:42,665 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-08 13:42:42,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-08 13:42:42,667 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 57 transitions. [2022-04-08 13:42:42,710 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-08 13:42:42,711 INFO L225 Difference]: With dead ends: 50 [2022-04-08 13:42:42,711 INFO L226 Difference]: Without dead ends: 39 [2022-04-08 13:42:42,712 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-08 13:42:42,712 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-08 13:42:42,713 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-08 13:42:42,713 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-08 13:42:42,737 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 37. [2022-04-08 13:42:42,737 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:42:42,737 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-08 13:42:42,737 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-08 13:42:42,738 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-08 13:42:42,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:42:42,739 INFO L93 Difference]: Finished difference Result 39 states and 46 transitions. [2022-04-08 13:42:42,739 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 46 transitions. [2022-04-08 13:42:42,740 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:42:42,740 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:42:42,740 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-08 13:42:42,740 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-08 13:42:42,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:42:42,742 INFO L93 Difference]: Finished difference Result 39 states and 46 transitions. [2022-04-08 13:42:42,742 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 46 transitions. [2022-04-08 13:42:42,742 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:42:42,742 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:42:42,742 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:42:42,743 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:42:42,743 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-08 13:42:42,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 44 transitions. [2022-04-08 13:42:42,744 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 44 transitions. Word has length 51 [2022-04-08 13:42:42,744 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:42:42,744 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 44 transitions. [2022-04-08 13:42:42,744 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-08 13:42:42,745 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 44 transitions. [2022-04-08 13:42:42,790 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-08 13:42:42,790 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 44 transitions. [2022-04-08 13:42:42,791 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-08 13:42:42,791 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:42:42,791 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-08 13:42:42,797 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-08 13:42:42,995 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-08 13:42:42,996 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:42:42,996 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:42:42,996 INFO L85 PathProgramCache]: Analyzing trace with hash 1612877217, now seen corresponding path program 1 times [2022-04-08 13:42:42,996 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:42:42,996 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1400593739] [2022-04-08 13:42:42,997 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 13:42:42,997 INFO L85 PathProgramCache]: Analyzing trace with hash 1612877217, now seen corresponding path program 2 times [2022-04-08 13:42:42,997 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:42:42,997 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1536981547] [2022-04-08 13:42:42,997 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:42:42,997 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:42:43,016 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:42:43,016 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [459653458] [2022-04-08 13:42:43,016 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:42:43,016 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:42:43,016 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:42:43,017 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-08 13:42:43,018 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-08 13:42:43,553 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:42:43,553 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:42:43,554 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-08 13:42:43,570 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:42:43,571 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:42:45,336 INFO L272 TraceCheckUtils]: 0: Hoare triple {1239#true} call ULTIMATE.init(); {1239#true} is VALID [2022-04-08 13:42:45,337 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-08 13:42:45,337 INFO L290 TraceCheckUtils]: 2: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-08 13:42:45,337 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1239#true} {1239#true} #79#return; {1239#true} is VALID [2022-04-08 13:42:45,337 INFO L272 TraceCheckUtils]: 4: Hoare triple {1239#true} call #t~ret6 := main(); {1239#true} is VALID [2022-04-08 13:42:45,337 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-08 13:42:45,337 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-08 13:42:45,337 INFO L290 TraceCheckUtils]: 7: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-08 13:42:45,338 INFO L290 TraceCheckUtils]: 8: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-08 13:42:45,338 INFO L290 TraceCheckUtils]: 9: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-08 13:42:45,338 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1239#true} {1239#true} #63#return; {1239#true} is VALID [2022-04-08 13:42:45,338 INFO L290 TraceCheckUtils]: 11: Hoare triple {1239#true} ~b~0 := #t~nondet5;havoc #t~nondet5; {1239#true} is VALID [2022-04-08 13:42:45,338 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-08 13:42:45,338 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-08 13:42:45,339 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-08 13:42:45,339 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-08 13:42:45,340 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-08 13:42:45,340 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-08 13:42:45,340 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-08 13:42:45,340 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-08 13:42:45,341 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-08 13:42:45,341 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-08 13:42:45,341 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-08 13:42:45,341 INFO L290 TraceCheckUtils]: 23: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-08 13:42:45,342 INFO L290 TraceCheckUtils]: 24: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-08 13:42:45,342 INFO L290 TraceCheckUtils]: 25: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-08 13:42:45,342 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-08 13:42:45,342 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-08 13:42:45,342 INFO L290 TraceCheckUtils]: 28: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-08 13:42:45,342 INFO L290 TraceCheckUtils]: 29: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-08 13:42:45,342 INFO L290 TraceCheckUtils]: 30: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-08 13:42:45,348 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-08 13:42:45,348 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-08 13:42:45,349 INFO L290 TraceCheckUtils]: 33: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-08 13:42:45,349 INFO L290 TraceCheckUtils]: 34: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-08 13:42:45,349 INFO L290 TraceCheckUtils]: 35: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-08 13:42:45,349 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-08 13:42:45,350 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-08 13:42:45,350 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-08 13:42:45,350 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-08 13:42:45,350 INFO L290 TraceCheckUtils]: 40: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-08 13:42:45,350 INFO L290 TraceCheckUtils]: 41: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-08 13:42:45,350 INFO L290 TraceCheckUtils]: 42: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-08 13:42:45,351 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-08 13:42:45,352 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-08 13:42:45,352 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-08 13:42:45,353 INFO L290 TraceCheckUtils]: 46: Hoare triple {1240#false} assume !false; {1240#false} is VALID [2022-04-08 13:42:45,353 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-08 13:42:45,353 INFO L290 TraceCheckUtils]: 48: Hoare triple {1240#false} ~cond := #in~cond; {1240#false} is VALID [2022-04-08 13:42:45,353 INFO L290 TraceCheckUtils]: 49: Hoare triple {1240#false} assume 0 == ~cond; {1240#false} is VALID [2022-04-08 13:42:45,353 INFO L290 TraceCheckUtils]: 50: Hoare triple {1240#false} assume !false; {1240#false} is VALID [2022-04-08 13:42:45,354 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-08 13:42:45,354 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:42:48,179 INFO L290 TraceCheckUtils]: 50: Hoare triple {1240#false} assume !false; {1240#false} is VALID [2022-04-08 13:42:48,180 INFO L290 TraceCheckUtils]: 49: Hoare triple {1240#false} assume 0 == ~cond; {1240#false} is VALID [2022-04-08 13:42:48,180 INFO L290 TraceCheckUtils]: 48: Hoare triple {1240#false} ~cond := #in~cond; {1240#false} is VALID [2022-04-08 13:42:48,180 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-08 13:42:48,180 INFO L290 TraceCheckUtils]: 46: Hoare triple {1240#false} assume !false; {1240#false} is VALID [2022-04-08 13:42:48,180 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-08 13:42:48,181 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-08 13:42:48,181 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-08 13:42:48,181 INFO L290 TraceCheckUtils]: 42: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-08 13:42:48,181 INFO L290 TraceCheckUtils]: 41: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-08 13:42:48,181 INFO L290 TraceCheckUtils]: 40: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-08 13:42:48,182 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-08 13:42:48,182 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-08 13:42:48,182 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-08 13:42:48,183 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-08 13:42:48,183 INFO L290 TraceCheckUtils]: 35: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-08 13:42:48,183 INFO L290 TraceCheckUtils]: 34: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-08 13:42:48,183 INFO L290 TraceCheckUtils]: 33: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-08 13:42:48,183 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-08 13:42:48,184 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-08 13:42:48,184 INFO L290 TraceCheckUtils]: 30: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-08 13:42:48,184 INFO L290 TraceCheckUtils]: 29: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-08 13:42:48,184 INFO L290 TraceCheckUtils]: 28: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-08 13:42:48,184 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-08 13:42:48,184 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-08 13:42:48,184 INFO L290 TraceCheckUtils]: 25: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-08 13:42:48,185 INFO L290 TraceCheckUtils]: 24: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-08 13:42:48,185 INFO L290 TraceCheckUtils]: 23: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-08 13:42:48,185 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-08 13:42:48,186 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-08 13:42:48,186 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-08 13:42:48,186 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-08 13:42:48,187 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-08 13:42:48,187 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-08 13:42:48,187 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-08 13:42:48,187 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-08 13:42:48,188 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-08 13:42:48,188 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-08 13:42:48,188 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-08 13:42:48,188 INFO L290 TraceCheckUtils]: 11: Hoare triple {1239#true} ~b~0 := #t~nondet5;havoc #t~nondet5; {1239#true} is VALID [2022-04-08 13:42:48,188 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1239#true} {1239#true} #63#return; {1239#true} is VALID [2022-04-08 13:42:48,188 INFO L290 TraceCheckUtils]: 9: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-08 13:42:48,188 INFO L290 TraceCheckUtils]: 8: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-08 13:42:48,189 INFO L290 TraceCheckUtils]: 7: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-08 13:42:48,189 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-08 13:42:48,189 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-08 13:42:48,189 INFO L272 TraceCheckUtils]: 4: Hoare triple {1239#true} call #t~ret6 := main(); {1239#true} is VALID [2022-04-08 13:42:48,189 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1239#true} {1239#true} #79#return; {1239#true} is VALID [2022-04-08 13:42:48,189 INFO L290 TraceCheckUtils]: 2: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-08 13:42:48,189 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-08 13:42:48,189 INFO L272 TraceCheckUtils]: 0: Hoare triple {1239#true} call ULTIMATE.init(); {1239#true} is VALID [2022-04-08 13:42:48,189 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-08 13:42:48,190 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:42:48,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1536981547] [2022-04-08 13:42:48,190 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:42:48,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [459653458] [2022-04-08 13:42:48,190 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [459653458] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:42:48,190 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:42:48,190 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-08 13:42:48,190 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:42:48,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1400593739] [2022-04-08 13:42:48,190 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1400593739] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:42:48,191 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:42:48,191 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 13:42:48,191 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1239930238] [2022-04-08 13:42:48,191 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:42:48,191 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-08 13:42:48,192 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:42:48,192 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-08 13:42:48,225 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-08 13:42:48,225 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 13:42:48,225 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:42:48,225 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 13:42:48,225 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-08 13:42:48,226 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-08 13:42:48,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:42:48,483 INFO L93 Difference]: Finished difference Result 39 states and 46 transitions. [2022-04-08 13:42:48,483 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 13:42:48,483 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-08 13:42:48,484 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:42:48,484 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-08 13:42:48,485 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 46 transitions. [2022-04-08 13:42:48,485 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-08 13:42:48,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 46 transitions. [2022-04-08 13:42:48,486 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 46 transitions. [2022-04-08 13:42:48,521 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-08 13:42:48,521 INFO L225 Difference]: With dead ends: 39 [2022-04-08 13:42:48,521 INFO L226 Difference]: Without dead ends: 0 [2022-04-08 13:42:48,522 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-08 13:42:48,522 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 10 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 83 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-08 13:42:48,523 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.1s Time] [2022-04-08 13:42:48,523 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-08 13:42:48,523 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-08 13:42:48,523 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:42:48,523 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-08 13:42:48,523 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-08 13:42:48,523 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-08 13:42:48,524 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:42:48,524 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 13:42:48,524 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 13:42:48,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:42:48,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:42:48,524 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-08 13:42:48,524 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-08 13:42:48,524 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:42:48,524 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 13:42:48,524 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 13:42:48,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:42:48,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:42:48,524 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:42:48,524 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:42:48,524 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-08 13:42:48,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-08 13:42:48,525 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 51 [2022-04-08 13:42:48,525 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:42:48,525 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-08 13:42:48,525 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-08 13:42:48,525 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-08 13:42:48,525 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-08 13:42:48,525 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 13:42:48,525 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:42:48,527 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-08 13:42:48,534 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 13:42:48,731 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-08 13:42:48,735 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-08 13:42:48,942 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 5) no Hoare annotation was computed. [2022-04-08 13:42:48,942 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 5) no Hoare annotation was computed. [2022-04-08 13:42:48,942 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 5) no Hoare annotation was computed. [2022-04-08 13:42:48,943 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 8 10) the Hoare annotation is: true [2022-04-08 13:42:48,943 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-08 13:42:48,943 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-08 13:42:48,943 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-08 13:42:48,943 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-08 13:42:48,943 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-08 13:42:48,943 INFO L878 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: (<= (mod main_~a~0 4294967296) 1) [2022-04-08 13:42:48,943 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 19 57) the Hoare annotation is: true [2022-04-08 13:42:48,943 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-08 13:42:48,943 INFO L885 garLoopResultBuilder]: At program point L23(line 23) the Hoare annotation is: true [2022-04-08 13:42:48,943 INFO L878 garLoopResultBuilder]: At program point L23-1(line 23) the Hoare annotation is: (<= (mod main_~a~0 4294967296) 1) [2022-04-08 13:42:48,943 INFO L885 garLoopResultBuilder]: At program point L52(line 52) the Hoare annotation is: true [2022-04-08 13:42:48,943 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 19 57) the Hoare annotation is: true [2022-04-08 13:42:48,943 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-08 13:42:48,944 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-08 13:42:48,944 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-08 13:42:48,944 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 19 57) the Hoare annotation is: true [2022-04-08 13:42:48,944 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-08 13:42:48,944 INFO L878 garLoopResultBuilder]: At program point L43(lines 43 49) the Hoare annotation is: false [2022-04-08 13:42:48,944 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-08 13:42:48,944 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-08 13:42:48,944 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-08 13:42:48,944 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-08 13:42:48,944 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-08 13:42:48,944 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-08 13:42:48,944 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-08 13:42:48,944 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-08 13:42:48,944 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-08 13:42:48,944 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 11 17) the Hoare annotation is: true [2022-04-08 13:42:48,944 INFO L878 garLoopResultBuilder]: At program point L13(lines 13 14) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 13:42:48,945 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-08 13:42:48,945 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-08 13:42:48,945 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-08 13:42:48,945 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 14) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 13:42:48,947 INFO L719 BasicCegarLoop]: Path program histogram: [2, 2, 2, 2] [2022-04-08 13:42:48,947 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-08 13:42:48,949 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-08 13:42:48,954 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-08 13:42:48,968 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-08 13:42:48,975 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.04 01:42:48 BoogieIcfgContainer [2022-04-08 13:42:48,975 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-08 13:42:48,976 INFO L158 Benchmark]: Toolchain (without parser) took 11655.73ms. Allocated memory was 190.8MB in the beginning and 299.9MB in the end (delta: 109.1MB). Free memory was 142.2MB in the beginning and 206.6MB in the end (delta: -64.4MB). Peak memory consumption was 46.2MB. Max. memory is 8.0GB. [2022-04-08 13:42:48,976 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 190.8MB. Free memory is still 158.5MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-08 13:42:48,976 INFO L158 Benchmark]: CACSL2BoogieTranslator took 240.06ms. Allocated memory is still 190.8MB. Free memory was 142.0MB in the beginning and 166.3MB in the end (delta: -24.3MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-08 13:42:48,976 INFO L158 Benchmark]: Boogie Preprocessor took 34.40ms. Allocated memory is still 190.8MB. Free memory was 166.3MB in the beginning and 164.9MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-08 13:42:48,976 INFO L158 Benchmark]: RCFGBuilder took 266.16ms. Allocated memory is still 190.8MB. Free memory was 164.9MB in the beginning and 153.3MB in the end (delta: 11.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-08 13:42:48,977 INFO L158 Benchmark]: TraceAbstraction took 11110.60ms. Allocated memory was 190.8MB in the beginning and 299.9MB in the end (delta: 109.1MB). Free memory was 152.7MB in the beginning and 206.6MB in the end (delta: -53.9MB). Peak memory consumption was 56.1MB. Max. memory is 8.0GB. [2022-04-08 13:42:48,977 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 190.8MB. Free memory is still 158.5MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 240.06ms. Allocated memory is still 190.8MB. Free memory was 142.0MB in the beginning and 166.3MB in the end (delta: -24.3MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 34.40ms. Allocated memory is still 190.8MB. Free memory was 166.3MB in the beginning and 164.9MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 266.16ms. Allocated memory is still 190.8MB. Free memory was 164.9MB in the beginning and 153.3MB in the end (delta: 11.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 11110.60ms. Allocated memory was 190.8MB in the beginning and 299.9MB in the end (delta: 109.1MB). Free memory was 152.7MB in the beginning and 206.6MB in the end (delta: -53.9MB). Peak memory consumption was 56.1MB. 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: 11.0s, OverallIterations: 4, TraceHistogramMax: 6, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 1.2s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.2s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 66 SdHoareTripleChecker+Valid, 0.2s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 54 mSDsluCounter, 320 SdHoareTripleChecker+Invalid, 0.2s 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-08 13:42:48,997 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...