Herbie run

Date:Tuesday, August 27th, 2024
Commit:d7da253e on bhargav-log-space
Hostname:nightly with Racket 8.11.1
Seed:2024240
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: 5.0min)

sample1.2min (23.4%)

Memory
391.3MiB live, 76 371.9MiB allocated
Samples
31.2s285 567×0valid
11.7s43 779×1valid
7.4s17 001×2valid
414.0ms4 078×0invalid
299.0ms936×0exit
203.0ms405×3valid
67.0ms101×3exit
67.0ms101×4exit
13.0ms30×1exit
Precisions
Click to see histograms. Total time spent on operations: 39.0s
ival-mult: 9.7s (25% of total)
ival-div: 3.9s (9.9% of total)
ival-add: 3.8s (9.9% of total)
const: 3.2s (8.1% of total)
ival-pow: 3.0s (7.7% of total)
ival-sub: 2.7s (7% of total)
ival-<=: 2.5s (6.4% of total)
adjust: 2.5s (6.3% of total)
ival-sin: 2.2s (5.8% of total)
ival-cos: 2.1s (5.3% of total)
ival-sqrt: 554.0ms (1.4% of total)
ival-exp: 443.0ms (1.1% of total)
exact: 422.0ms (1.1% of total)
ival-and: 347.0ms (0.9% of total)
ival-neg: 312.0ms (0.8% of total)
ival-pow2: 297.0ms (0.8% of total)
ival-==: 214.0ms (0.5% of total)
ival-assert: 135.0ms (0.3% of total)
ival-true: 132.0ms (0.3% of total)
ival-<: 95.0ms (0.2% of total)
ival-log1p: 82.0ms (0.2% of total)
ival-expm1: 78.0ms (0.2% of total)
ival-atan: 73.0ms (0.2% of total)
ival-tan: 58.0ms (0.1% of total)
ival-pi: 58.0ms (0.1% of total)
ival-if: 19.0ms (0% of total)
ival-hypot: 16.0ms (0% of total)
ival-fabs: 3.0ms (0% of total)
Bogosity

simplify43.8s (14.6%)

Memory
426.8MiB live, 39 571.5MiB allocated
Algorithm
284×egg-herbie
Rules
2 276 104×lower-fma.f32
2 275 598×lower-fma.f64
777 858×lower-*.f32
776 676×lower-*.f64
475 310×lower-+.f32
Stop Event
360×iter limit
182×node limit
114×saturated
Counts
32 160 → 31 303

rewrite37.0s (12.3%)

Memory
-85.9MiB live, 36 736.6MiB allocated
Rules
727 196×lower-fma.f32
726 690×lower-fma.f64
537 504×lower-*.f32
536 336×lower-*.f64
451 140×lower-/.f32
Stop Event
242×iter limit
119×node limit
12×saturated
Counts
1 532 → 75 400

soundness36.1s (12%)

Memory
113.8MiB live, 20 713.8MiB allocated
Rules
1 195 930×lower-fma.f32
1 195 660×lower-fma.f64
592 442×lower-*.f32
591 810×lower-*.f64
326 614×lower-+.f32
Stop Event
199×iter limit
132×node limit
20×fuel
16×done
saturated
Compiler

Compiled 19 987 to 6 793 computations (66% saved)

prune29.7s (9.9%)

Memory
-324.0MiB live, 42 086.6MiB allocated
Counts
125 946 → 1 886
Compiler

Compiled 76 501 to 34 520 computations (54.9% saved)

eval27.7s (9.2%)

Memory
257.8MiB live, 34 685.5MiB allocated
Compiler

Compiled 4 469 856 to 275 487 computations (93.8% saved)

localize17.1s (5.7%)

Memory
-242.3MiB live, 20 443.3MiB allocated
Samples
6.7s25 495×0valid
3.0s3 588×1valid
1.9s1 829×2valid
764.0ms294×3valid
137.0ms50×5exit
100.0ms172×1exit
73.0ms142×0exit
27.0ms174×0invalid
Compiler

Compiled 30 479 to 3 401 computations (88.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.5s
ival-mult: 2.8s (28.8% of total)
ival-div: 1.8s (19.2% of total)
ival-add: 1.4s (14.5% of total)
adjust: 898.0ms (9.4% of total)
const: 631.0ms (6.6% of total)
ival-pow: 516.0ms (5.4% of total)
ival-sub: 483.0ms (5.1% of total)
ival-cos: 298.0ms (3.1% of total)
ival-sin: 218.0ms (2.3% of total)
ival-sqrt: 132.0ms (1.4% of total)
ival-tan: 117.0ms (1.2% of total)
ival-exp: 98.0ms (1% of total)
ival-neg: 74.0ms (0.8% of total)
exact: 47.0ms (0.5% of total)
ival-true: 25.0ms (0.3% of total)
ival-assert: 13.0ms (0.1% of total)
ival-log1p: 10.0ms (0.1% of total)
ival-expm1: 8.0ms (0.1% of total)
ival-log: 2.0ms (0% of total)

preprocess9.0s (3%)

Memory
33.7MiB live, 8 745.9MiB allocated
Algorithm
36×egg-herbie
Rules
232 218×lower-fma.f32
232 218×lower-fma.f64
44 334×lower-*.f32
44 160×lower-*.f64
29 080×lower-+.f32
Stop Event
70×iter limit
49×saturated
25×node limit
Compiler

Compiled 24 674 to 6 583 computations (73.3% saved)

explain8.6s (2.9%)

Memory
-122.4MiB live, 10 531.2MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
+.f64#fcancellation37992
-.f64#fcancellation3310
sqrt.f64#foflow-rescue2000
+.f64#fnan-rescue1590
/.f64#fo/o1560
/.f64#fn/o1120
/.f64#fu/u410
/.f64#fo/n320
/.f64#fn/u200
*.f64#fn*o190
*.f64(*.f64 (*.f64 w w) r)n*u110
sqrt.f64#fuflow-rescue80
/.f64#fu/n40
exp.f64#fsensitivity24
Confusion
Predicted +Predicted -
+20041481
-725659
Precision
0.9653179190751445
Recall
0.5750358680057389
Confusion?
Predicted +Predicted MaybePredicted -
+20041811300
-721695490
Precision?
0.9006595218466612
Recall?
0.6269727403156384
Freqs
test
numberfreq
07140
11662
2410
34
Total Confusion?
Predicted +Predicted MaybePredicted -
+2015
-0010
Precision?
1.0
Recall?
0.8076923076923077
Samples
1.6s14 476×0valid
1.2s2 829×1valid
447.0ms1 106×2valid
15.0ms24×3valid
Compiler

Compiled 10 313 to 3 359 computations (67.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0s
ival-mult: 562.0ms (28.2% of total)
ival-add: 389.0ms (19.5% of total)
adjust: 225.0ms (11.3% of total)
ival-div: 217.0ms (10.9% of total)
ival-sub: 157.0ms (7.9% of total)
ival-sin: 109.0ms (5.5% of total)
ival-pow: 83.0ms (4.2% of total)
ival-cos: 75.0ms (3.8% of total)
ival-neg: 41.0ms (2.1% of total)
const: 40.0ms (2% of total)
ival-exp: 26.0ms (1.3% of total)
ival-sqrt: 17.0ms (0.9% of total)
ival-true: 15.0ms (0.8% of total)
exact: 15.0ms (0.8% of total)
ival-assert: 8.0ms (0.4% of total)
ival-log1p: 5.0ms (0.3% of total)
ival-tan: 4.0ms (0.2% of total)
ival-expm1: 3.0ms (0.2% of total)
ival-pow2: 0.0ms (0% of total)

regimes8.1s (2.7%)

Memory
-35.2MiB live, 8 857.6MiB allocated
Counts
5 123 → 457
Calls

83 calls:

1.3s
x
1.0s
c
660.0ms
d
410.0ms
(*.f64 (cos.f64 x) (exp.f64 (*.f64 #s(literal 10 binary64) (*.f64 x x))))
284.0ms
e
Compiler

Compiled 9 720 to 5 051 computations (48% saved)

analyze5.7s (1.9%)

Memory
-101.6MiB live, 4 031.8MiB allocated
Algorithm
43×search
random
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%54.5%45.5%0%0%0%0
21.4%11.7%42.9%45.5%0%0%0%1
37.4%20.4%34.1%45.5%0%0%0%2
48.7%26.2%27.7%45.5%0%0.6%0%3
57.7%30.7%22.6%45.5%0%1.2%0%4
71.2%37.7%15.3%45.5%0%1.6%0%5
72.9%38.4%14.3%45.5%0%1.8%0%6
77.9%40.7%11.6%45.5%0%2.2%0%7
81.5%42.6%9.7%45.5%0%2.3%0%8
84.1%43.8%8.3%45.5%0%2.5%0%9
86.2%44.6%7.2%45.5%0%2.7%0%10
88.2%45.6%6.1%45.5%0%2.8%0%11
89.1%45.9%5.6%45.5%0%2.9%0%12
Compiler

Compiled 1 402 to 721 computations (48.6% saved)

series4.8s (1.6%)

Memory
-49.2MiB live, 5 926.6MiB allocated
Counts
1 532 → 32 160
Calls

717 calls:

TimeVariablePointExpression
68.0ms
c
@0
((* a (+ (+ b c) d)) (* d a) (* a (+ (+ b c) d)) (+ (+ b c) d) (+ c d) (+ (* (+ d b) a) (* c a)) (+ d b) (* c a))
51.0ms
x2
@0
((+ (* (+ (* 4 (/ (+ (* x1 (+ (* 3 x1) -1)) (* x2 2)) (+ (* x1 x1) 1))) -6) (* x1 x1)) (* (- (/ (+ (* x1 (+ (* 3 x1) -1)) (* x2 2)) (+ (* x1 x1) 1)) 3) (* (/ (+ (* x1 (+ (* 3 x1) -1)) (* x2 2)) (+ (* x1 x1) 1)) (* x1 2)))) (+ (* (/ (+ (* x1 (+ (* 3 x1) -1)) (* x2 2)) (+ (* x1 x1) 1)) (* (* 3 x1) x1)) (* (* x1 x1) x1)) (+ (* (+ (* (+ (* 4 (/ (+ (* x1 (+ (* 3 x1) -1)) (* x2 2)) (+ (* x1 x1) 1))) -6) (* x1 x1)) (* (- (/ (+ (* x1 (+ (* 3 x1) -1)) (* x2 2)) (+ (* x1 x1) 1)) 3) (* (/ (+ (* x1 (+ (* 3 x1) -1)) (* x2 2)) (+ (* x1 x1) 1)) (* x1 2)))) (+ (* x1 x1) 1)) (+ (+ (* (/ (+ (* x1 (+ (* 3 x1) -1)) (* x2 2)) (+ (* x1 x1) 1)) (* (* 3 x1) x1)) (* (* x1 x1) x1)) (+ (* (/ (- (+ (* -2 x2) (* (* 3 x1) x1)) x1) (+ (* x1 x1) 1)) 3) x1))) (+ x1 (+ (* (+ (* (+ (* 4 (/ (+ (* x1 (+ (* 3 x1) -1)) (* x2 2)) (+ (* x1 x1) 1))) -6) (* x1 x1)) (* (- (/ (+ (* x1 (+ (* 3 x1) -1)) (* x2 2)) (+ (* x1 x1) 1)) 3) (* (/ (+ (* x1 (+ (* 3 x1) -1)) (* x2 2)) (+ (* x1 x1) 1)) (* x1 2)))) (+ (* x1 x1) 1)) (+ (+ (* (/ (+ (* x1 (+ (* 3 x1) -1)) (* x2 2)) (+ (* x1 x1) 1)) (* (* 3 x1) x1)) (* (* x1 x1) x1)) (+ (* (/ (- (+ (* -2 x2) (* (* 3 x1) x1)) x1) (+ (* x1 x1) 1)) 3) x1)))) (+ x1 (+ (+ (+ (+ (* (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))) (+ (* x1 x1) 1)) (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* (* x1 x1) x1)) x1) (* 3 (/ (- (- (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))))) (* -6 x2) (+ (+ (+ (+ (* (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))) (+ (* x1 x1) 1)) (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* (* x1 x1) x1)) x1) (* 3 (/ (- (- (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (- (- (* (* 3 x1) x1) (* 2 x2)) x1) (- (* (* 3 x1) x1) (* 2 x2)) (+ (* x1 x1) 1) (+ (* (+ (* -2 x2) 3) 2) (+ (* 14 x2) -6)) (+ (* (* x2 4) (+ (* 2 x2) -3)) (* (+ (* -4 x2) (+ (* (+ (* -2 x2) 3) 2) (+ (* 14 x2) -6))) x1)) (+ (+ (+ (+ (* (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))) (+ (* x1 x1) 1)) (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* (* x1 x1) x1)) x1) (* 3 (/ (- (- (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (- 3 (* -2 x2)) (* (- 6 (/ 4 x1)) x1) (+ x1 (+ (* (+ (* x1 x1) 1) (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)))) (+ (+ (* (/ (+ (* x1 (+ (* 3 x1) -1)) (* x2 2)) (+ (* x1 x1) 1)) (* (* 3 x1) x1)) (* (* x1 x1) x1)) (+ (* (/ (- (+ (* -2 x2) (* (* 3 x1) x1)) x1) (+ (* x1 x1) 1)) 3) x1)))) (+ (+ (* (/ (+ (* x1 (+ (* 3 x1) -1)) (* x2 2)) (+ (* x1 x1) 1)) (* (* 3 x1) x1)) (* (* x1 x1) x1)) (+ (* (/ (- (+ (* -2 x2) (* (* 3 x1) x1)) x1) (+ (* x1 x1) 1)) 3) x1)) (- (/ (+ (* x1 (+ (* 3 x1) -1)) (* x2 2)) (+ (* x1 x1) 1)) 3) (/ (+ (* x1 (+ (* 3 x1) -1)) (* x2 2)) (+ (* x1 x1) 1)) (/ (- (+ (* -2 x2) (* (* 3 x1) x1)) x1) (+ (* x1 x1) 1)) (+ (+ (* (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))) (+ (* x1 x1) 1)) (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* (* x1 x1) x1)) (+ (* (* x2 4) (+ (* 2 x2) -3)) (* (+ (* -4 x2) (+ (* (+ (* -2 x2) 3) 2) (+ (* 14 x2) -6))) x1)) (/ (- (- (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) (* (+ (* (* x2 4) (+ (* 2 x2) -3)) (* (+ (* -4 x2) (+ (* (+ (* -2 x2) 3) 2) (+ (* 14 x2) -6))) x1)) x1) (/ (- (- (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) (+ (+ (* (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))) (+ (* x1 x1) 1)) (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* (* x1 x1) x1)) (* (+ (* (* x2 4) (+ (* 2 x2) -3)) (* (+ (* -4 x2) (+ (* (+ (* -2 x2) 3) 2) (+ (* 14 x2) -6))) x1)) x1) (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))))
48.0ms
c
@-inf
((/ 1 (/ (+ (* d d) (* c c)) (+ (* d b) (* c a)))) (/ (+ (* d d) (* c c)) (+ (* d b) (* c a))) (+ (* d d) (* c c)) (* c c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (/ a c) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (* (/ b (+ (* c c) (* d d))) d) (/ b (+ (* c c) (* d d))) (+ (* c c) (* d d)) (+ (* a c) (* b d)) (/ (+ (* a c) (* b d)) (+ (* c c) (* d d))) (* a c) (* b d) (/ -1 (* (/ 1 (+ (* d b) (* c a))) (neg (+ (* d d) (* c c))))) (* (/ 1 (+ (* d b) (* c a))) (neg (+ (* d d) (* c c)))) (/ 1 (+ (* d b) (* c a))) (+ (* d b) (* c a)) (* c a) (* d d) (+ (* c c) (* d d)))
46.0ms
w
@inf
((* 1/8 (- 3 (* 2 v))) (- (- (+ 3 (/ 2 (* r r))) (/ (* (* 1/8 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 9/2) (- (+ 3 (/ 2 (* r r))) (/ (* (* 1/8 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) (- 3 (* 2 v)) (* (* w w) r) (* (* (* w w) r) r) (* (* 1/8 (- 3 (* 2 v))) (* (* (* w w) r) r)) (/ (* (* 1/8 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v)))
39.0ms
b
@-inf
((* (+ a b) (+ a b)) (+ a b))

bsearch2.1s (0.7%)

Memory
91.9MiB live, 2 850.8MiB allocated
Algorithm
136×binary-search
76×left-value
Stop Event
127×narrow-enough
predicate-same
predicate-failed
Samples
1.1s10 817×0valid
62.0ms230×1valid
37.0ms521×0invalid
31.0ms93×1exit
8.0ms41×2valid
3.0ms22×0exit
Compiler

Compiled 38 183 to 22 979 computations (39.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 806.0ms
ival-mult: 378.0ms (46.9% of total)
ival-sub: 119.0ms (14.8% of total)
ival-div: 106.0ms (13.2% of total)
ival-add: 89.0ms (11% of total)
ival-exp: 34.0ms (4.2% of total)
ival-neg: 25.0ms (3.1% of total)
adjust: 16.0ms (2% of total)
ival-sqrt: 15.0ms (1.9% of total)
ival-true: 8.0ms (1% of total)
exact: 6.0ms (0.7% of total)
ival-assert: 5.0ms (0.6% of total)
ival-expm1: 5.0ms (0.6% of total)

start1.0ms (0%)

Memory
2.0MiB live, 1.9MiB allocated

end0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated

Profiling

Loading profile data...