Herbie run

Date:Wednesday, October 2nd, 2024
Commit:913204d2 on artem-batch-finish-rewrite
Hostname:nightly with Racket 8.10
Seed:2024276
Parameters:256 points for 4 iterations
Flags:
localize:costslocalize:errorsreduce:regimesreduce:avg-errorreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default

Time bar (total: 58.6s)

sample13.1s (22.3%)

Memory
346.4MiB live, 11 651.0MiB allocated
Samples
8.0s70 189×0valid
1000.0ms4 108×2valid
463.0ms1 945×0invalid
1.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 6.2s
ival-mult: 1.6s (25.9% of total)
ival-div: 1.2s (19% of total)
ival-sub: 862.0ms (13.9% of total)
ival-sqrt: 610.0ms (9.8% of total)
ival-neg: 570.0ms (9.2% of total)
ival-add: 500.0ms (8% of total)
adjust: 170.0ms (2.7% of total)
ival-exp: 142.0ms (2.3% of total)
ival-log: 140.0ms (2.3% of total)
ival->=: 132.0ms (2.1% of total)
ival-fabs: 82.0ms (1.3% of total)
ival-if: 80.0ms (1.3% of total)
exact: 57.0ms (0.9% of total)
ival-true: 53.0ms (0.9% of total)
ival-assert: 28.0ms (0.5% of total)
Bogosity

simplify9.8s (16.7%)

Memory
404.7MiB live, 8 768.8MiB allocated
Algorithm
71×egg-herbie
Stop Event
91×iter limit
40×node limit
33×saturated
Counts
9 600 → 9 402

eval8.5s (14.5%)

Memory
225.8MiB live, 9 833.8MiB allocated
Compiler

Compiled 1 550 430 to 91 719 computations (94.1% saved)

soundness6.5s (11.1%)

Memory
60.3MiB live, 2 960.9MiB allocated
Stop Event
40×iter limit
27×node limit
done
fuel
saturated
Compiler

Compiled 5 198 to 2 270 computations (56.3% saved)

rewrite6.4s (10.9%)

Memory
-82.5MiB live, 7 224.0MiB allocated
Stop Event
67×iter limit
29×node limit
unsound
saturated
Counts
360 → 17 530

localize4.6s (7.9%)

Memory
-93.2MiB live, 5 075.5MiB allocated
Samples
1.6s6 410×0valid
1.2s809×2valid
432.0ms603×1valid
181.0ms114×3valid
Compiler

Compiled 15 132 to 1 605 computations (89.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.1s
ival-mult: 717.0ms (33.7% of total)
ival-div: 472.0ms (22.2% of total)
ival-sub: 220.0ms (10.3% of total)
adjust: 164.0ms (7.7% of total)
ival-add: 144.0ms (6.8% of total)
ival-sqrt: 123.0ms (5.8% of total)
ival-if: 116.0ms (5.5% of total)
ival-neg: 57.0ms (2.7% of total)
ival-log: 49.0ms (2.3% of total)
ival-fabs: 20.0ms (0.9% of total)
exact: 11.0ms (0.5% of total)
ival-exp: 9.0ms (0.4% of total)
ival-pow: 7.0ms (0.3% of total)
ival->=: 7.0ms (0.3% of total)
ival-true: 6.0ms (0.3% of total)
ival-assert: 3.0ms (0.1% of total)

prune2.6s (4.4%)

Memory
-68.0MiB live, 3 918.1MiB allocated
Counts
33 674 → 353
Compiler

Compiled 25 684 to 12 616 computations (50.9% saved)

preprocess1.8s (3.1%)

Memory
-74.4MiB live, 1 527.8MiB allocated
Algorithm
egg-herbie
Stop Event
18×iter limit
13×saturated
node limit
Compiler

Compiled 4 985 to 1 208 computations (75.8% saved)

series1.6s (2.7%)

Memory
-126.8MiB live, 1 736.0MiB allocated
Counts
360 → 9 600
Calls

183 calls:

TimeVariablePointExpression
81.0ms
b
@inf
((if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (if (>= b 0) (* (/ (+ (sqrt (+ (* (* c a) -4) (* b b))) b) a) -1/2) (/ (* 2 c) (- (sqrt (+ (* (* c a) -4) (* b b))) b))) (>= b 0) (* (/ (+ (sqrt (+ (* (* c a) -4) (* b b))) b) a) -1/2) (if (>= b 0) (* (/ 1/2 a) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (* 2 c) (- (sqrt (- (* b b) (* (* 4 a) c))) b))) (* (/ 1/2 a) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ 1/2 a) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* (+ (* (* a (/ c (* b b))) -4) 1) (* b b)) (/ (- (* (* b 1/2) a) (* a (* (sqrt (+ (* (* -4 c) a) (* b b))) 1/2))) (* a a)) (- (* (* b 1/2) a) (* a (* (sqrt (+ (* (* -4 c) a) (* b b))) 1/2))) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (+ (* (* c -1/2) (* (/ b a) 3)) (* (/ 1/2 a) (/ (pow b 3) a))) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (- (* b b) (* (* 4 a) c)) (sqrt (+ (* (* c a) -4) (* b b))) (- (sqrt (+ (* (* c a) -4) (* b b))) b) (+ (sqrt (+ (* (* c a) -4) (* b b))) b) (/ (+ (sqrt (+ (* (* c a) -4) (* b b))) b) a) (sqrt (- (* b b) (* (* 4 a) c))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (- (sqrt (- (* b b) (* (* 4 a) c))) b) (sqrt (- (* b b) (* (* 4 a) c))) (- (* b b) (* (* 4 a) c)) (sqrt (- (* b b) (* (* 4 a) c))) (sqrt (+ (* (* -4 c) a) (* b b))) (/ (+ (* b b) (+ (* (* -4 c) a) (* b b))) (* (* -2 a) (- (sqrt (+ (* (* -4 c) a) (* b b))) b))) (sqrt (- (* b b) (* (* 4 a) c))) (/ (+ (* (* c -1/2) (* (/ b a) 3)) (* (/ 1/2 a) (/ (pow b 3) a))) c))
47.0ms
c
@inf
((+ (* (/ 1/2 a) (sqrt (+ (* a (* c -4)) (* b b)))) (/ b (* -2 a))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (- (* b b) (* (* 4 a) c)) (>= b 0) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (if (>= b 0) (* (/ -2 (- (sqrt (+ (* (* -4 c) a) (* b b))) b)) c) (/ (- (sqrt (+ (* a (* c -4)) (* b b))) b) (* 2 a))) (* (/ -2 (- (sqrt (+ (* (* -4 c) a) (* b b))) b)) c) (/ -2 (- (sqrt (+ (* (* -4 c) a) (* b b))) b)) (* (+ (* (* (/ a b) -2) (/ c b)) 1) b) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* (+ (* b b) (+ (* (* a 4) c) (* b b))) (/ 1 (* (* a 2) (- b (sqrt (+ (* (* -4 c) a) (* b b))))))) (+ (* b b) (+ (* (* a 4) c) (* b b))) (sqrt (- (* b b) (* (* 4 a) c))) (sqrt (+ (* a (* c -4)) (* b b))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (sqrt (+ (* (* -4 c) a) (* b b))) (- (sqrt (+ (* a (* c -4)) (* b b))) b) (- (sqrt (+ (* (* -4 c) a) (* b b))) b) (sqrt (- (* b b) (* (* 4 a) c))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))
47.0ms
a
@-inf
((+ (* (/ 1/2 a) (sqrt (+ (* a (* c -4)) (* b b)))) (/ b (* -2 a))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (- (* b b) (* (* 4 a) c)) (>= b 0) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (if (>= b 0) (* (/ -2 (- (sqrt (+ (* (* -4 c) a) (* b b))) b)) c) (/ (- (sqrt (+ (* a (* c -4)) (* b b))) b) (* 2 a))) (* (/ -2 (- (sqrt (+ (* (* -4 c) a) (* b b))) b)) c) (/ -2 (- (sqrt (+ (* (* -4 c) a) (* b b))) b)) (* (+ (* (* (/ a b) -2) (/ c b)) 1) b) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* (+ (* b b) (+ (* (* a 4) c) (* b b))) (/ 1 (* (* a 2) (- b (sqrt (+ (* (* -4 c) a) (* b b))))))) (+ (* b b) (+ (* (* a 4) c) (* b b))) (sqrt (- (* b b) (* (* 4 a) c))) (sqrt (+ (* a (* c -4)) (* b b))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (sqrt (+ (* (* -4 c) a) (* b b))) (- (sqrt (+ (* a (* c -4)) (* b b))) b) (- (sqrt (+ (* (* -4 c) a) (* b b))) b) (sqrt (- (* b b) (* (* 4 a) c))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))
46.0ms
x
@0
((neg (log (- (/ 1 x) 1))) (log x) (neg (log (- (/ 1 x) 1))) (+ (log x) x) (neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (+ (* 1/2 x) 1))
36.0ms
x
@-inf
((- (/ (+ x 4) y) (* (/ x y) z)) (fabs (- (/ (+ x 4) y) (* (/ x y) z))) (/ (+ x 4) y) (+ x 4) (* (/ x y) z))

explain1.5s (2.6%)

Memory
31.4MiB live, 1 927.5MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue2410
+.f64#fcancellation1170
-.f64#fcancellation1111
sqrt.f64#fuflow-rescue740
/.f64#fu/n240
-.f64#fnan-rescue220
/.f64#fn/u210
*.f64(*.f64 (/.f64 x y) z)n*o80
*.f64(*.f64 (/.f64 x y) z)n*u70
Confusion
Predicted +Predicted -
+28215
-2171790
Precision
0.5651302605210421
Recall
0.9494949494949495
Confusion?
Predicted +Predicted MaybePredicted -
+282015
-21711789
Precision?
0.564
Recall?
0.9494949494949495
Freqs
test
numberfreq
01805
1382
2108
39
Total Confusion?
Predicted +Predicted MaybePredicted -
+400
-005
Precision?
1.0
Recall?
1.0
Samples
313.0ms3 714×0valid
161.0ms310×1valid
157.0ms534×2valid
88.0ms50×3valid
Compiler

Compiled 1 575 to 388 computations (75.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 483.0ms
ival-div: 150.0ms (31% of total)
ival-sub: 110.0ms (22.8% of total)
ival-mult: 81.0ms (16.8% of total)
adjust: 37.0ms (7.7% of total)
ival-sqrt: 32.0ms (6.6% of total)
ival-add: 24.0ms (5% of total)
ival-neg: 11.0ms (2.3% of total)
ival-if: 9.0ms (1.9% of total)
ival-log: 6.0ms (1.2% of total)
ival-fabs: 5.0ms (1% of total)
ival-exp: 4.0ms (0.8% of total)
ival-true: 4.0ms (0.8% of total)
ival->=: 3.0ms (0.6% of total)
exact: 3.0ms (0.6% of total)
ival-assert: 2.0ms (0.4% of total)

regimes1.0s (1.7%)

Memory
10.8MiB live, 1 296.6MiB allocated
Counts
542 → 80
Calls

26 calls:

119.0ms
b
88.0ms
(-.f64 a b)
81.0ms
(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
80.0ms
x
62.0ms
c
Compiler

Compiled 933 to 774 computations (17% saved)

analyze734.0ms (1.3%)

Memory
-9.6MiB live, 675.6MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
22.2%22.2%77.7%0.1%0%0%0%1
29.4%27.8%66.6%0.1%0%5.6%0%2
50%44.4%44.4%0.1%0%11.1%0%3
59.7%51.3%34.7%0.1%0%13.9%0%4
67.2%56.9%27.7%0.1%0%15.3%0%5
74.4%62.4%21.5%0.1%0%16%0%6
78.9%64.9%17.3%0.1%0%17.7%0%7
80.8%66.3%15.8%0.1%0%17.9%0%8
85.9%69.9%11.5%0.1%0%18.5%0%9
88%70.7%9.7%0.1%0%19.6%0%10
90%72.1%8%0.1%0%19.8%0%11
92.3%73.5%6.2%0.1%0%20.3%0%12
Compiler

Compiled 153 to 106 computations (30.7% saved)

bsearch474.0ms (0.8%)

Memory
-103.7MiB live, 486.9MiB allocated
Algorithm
27×binary-search
left-value
Stop Event
22×narrow-enough
predicate-same
Samples
232.0ms2 592×0valid
22.0ms137×0invalid
2.0ms16×2valid
Compiler

Compiled 12 693 to 8 278 computations (34.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 174.0ms
ival-div: 57.0ms (32.7% of total)
ival-mult: 37.0ms (21.2% of total)
ival-exp: 21.0ms (12% of total)
ival-sub: 16.0ms (9.2% of total)
ival-add: 11.0ms (6.3% of total)
ival-sqrt: 8.0ms (4.6% of total)
ival-fabs: 6.0ms (3.4% of total)
ival-neg: 5.0ms (2.9% of total)
ival-if: 4.0ms (2.3% of total)
ival->=: 3.0ms (1.7% of total)
ival-true: 2.0ms (1.1% of total)
exact: 2.0ms (1.1% of total)
ival-assert: 1.0ms (0.6% of total)
adjust: 0.0ms (0% of total)

start0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated

end0.0ms (0%)

Memory
0.2MiB live, 0.1MiB allocated

Profiling

Loading profile data...