Herbie run

Date:Tuesday, August 27th, 2024
Commit:cd59a5a7 on main
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: 1.1min)

sample12.5s (19%)

Memory
234.1MiB live, 11 910.1MiB allocated
Samples
7.3s70 180×0valid
892.0ms4 119×2valid
534.0ms1 847×0invalid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 6.2s
ival-div: 1.7s (27.9% of total)
ival-mult: 1.4s (22.5% of total)
ival-sub: 656.0ms (10.6% of total)
ival-sqrt: 584.0ms (9.5% of total)
ival-add: 544.0ms (8.8% of total)
ival-if: 342.0ms (5.6% of total)
ival-neg: 272.0ms (4.4% of total)
ival-exp: 116.0ms (1.9% of total)
ival->=: 114.0ms (1.9% of total)
ival-log: 113.0ms (1.8% of total)
adjust: 97.0ms (1.6% of total)
ival-fabs: 84.0ms (1.4% of total)
ival-true: 55.0ms (0.9% of total)
exact: 53.0ms (0.9% of total)
ival-assert: 28.0ms (0.5% of total)
Bogosity

simplify9.5s (14.4%)

Memory
214.5MiB live, 8 348.1MiB allocated
Algorithm
73×egg-herbie
Rules
394 356×lower-fma.f32
394 278×lower-fma.f64
181 626×lower-*.f32
181 382×lower-*.f64
89 750×lower-+.f32
Stop Event
94×iter limit
40×node limit
35×saturated
Counts
10 080 → 9 893

soundness9.2s (13.9%)

Memory
71.6MiB live, 4 804.7MiB allocated
Rules
275 888×lower-fma.f32
275 824×lower-fma.f64
168 896×lower-*.f32
168 730×lower-*.f64
98 128×lower-/.f32
Stop Event
60×iter limit
37×node limit
fuel
done
saturated
Compiler

Compiled 8 116 to 3 673 computations (54.7% saved)

rewrite8.2s (12.3%)

Memory
135.4MiB live, 8 096.1MiB allocated
Rules
135 446×lower-fma.f32
135 368×lower-fma.f64
121 766×lower-/.f32
121 540×lower-/.f64
117 284×lower-*.f32
Stop Event
69×iter limit
30×node limit
unsound
saturated
Counts
403 → 18 965

eval7.7s (11.7%)

Memory
205.0MiB live, 11 916.7MiB allocated
Compiler

Compiled 1 374 923 to 84 987 computations (93.8% saved)

prune6.7s (10.1%)

Memory
14.0MiB live, 11 333.5MiB allocated
Counts
36 004 → 446
Compiler

Compiled 22 777 to 10 769 computations (52.7% saved)

localize3.9s (5.9%)

Memory
-75.1MiB live, 4 950.2MiB allocated
Samples
1.4s6 613×0valid
812.0ms875×2valid
531.0ms625×1valid
103.0ms78×3valid
0.0ms5exit
Compiler

Compiled 7 599 to 796 computations (89.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.6s
ival-div: 385.0ms (23.4% of total)
ival-mult: 364.0ms (22.1% of total)
ival-sub: 271.0ms (16.5% of total)
ival-add: 152.0ms (9.2% of total)
ival-sqrt: 134.0ms (8.1% of total)
adjust: 132.0ms (8% of total)
ival-if: 64.0ms (3.9% of total)
ival-neg: 45.0ms (2.7% of total)
ival-log: 27.0ms (1.6% of total)
ival-fabs: 19.0ms (1.2% of total)
const: 12.0ms (0.7% of total)
ival-exp: 11.0ms (0.7% of total)
exact: 11.0ms (0.7% of total)
ival-true: 7.0ms (0.4% of total)
ival->=: 7.0ms (0.4% of total)
ival-e: 6.0ms (0.4% of total)
ival-assert: 3.0ms (0.2% of total)

regimes2.0s (3%)

Memory
-34.6MiB live, 2 140.6MiB allocated
Counts
1 304 → 140
Calls

26 calls:

224.0ms
b
220.0ms
(*.f64 x x)
196.0ms
x
190.0ms
(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)))
128.0ms
(-.f64 (/.f64 (+.f64 x #s(literal 4 binary64)) y) (*.f64 (/.f64 x y) z))
Compiler

Compiled 1 785 to 1 123 computations (37.1% saved)

preprocess1.8s (2.8%)

Memory
-125.7MiB live, 1 588.1MiB allocated
Algorithm
egg-herbie
Rules
11 858×lower-fma.f32
11 858×lower-fma.f64
5 976×div-sub
5 512×lower-*.f32
5 482×lower-*.f64
Stop Event
18×iter limit
13×saturated
node limit
Compiler

Compiled 5 624 to 1 196 computations (78.7% saved)

explain1.7s (2.6%)

Memory
-60.2MiB live, 1 878.2MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue2850
-.f64#fcancellation1360
+.f64#fcancellation1080
sqrt.f64#fuflow-rescue610
/.f64#fu/n270
/.f64#fn/u210
*.f64(*.f64 (/.f64 x y) z)n*o150
-.f64#fnan-rescue150
*.f64(*.f64 (/.f64 x y) z)n*u50
Confusion
Predicted +Predicted -
+30611
-2191768
Precision
0.5828571428571429
Recall
0.9652996845425867
Confusion?
Predicted +Predicted MaybePredicted -
+306011
-21901768
Precision?
0.5828571428571429
Recall?
0.9652996845425867
Freqs
test
numberfreq
01779
1383
2136
36
Total Confusion?
Predicted +Predicted MaybePredicted -
+400
-005
Precision?
1.0
Recall?
1.0
Samples
405.0ms3 692×0valid
195.0ms312×1valid
148.0ms568×2valid
62.0ms36×3valid
Compiler

Compiled 1 124 to 300 computations (73.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 550.0ms
ival-fabs: 119.0ms (21.6% of total)
ival-add: 91.0ms (16.5% of total)
ival-neg: 82.0ms (14.9% of total)
ival-div: 54.0ms (9.8% of total)
ival-mult: 50.0ms (9.1% of total)
ival-sqrt: 45.0ms (8.2% of total)
ival-sub: 42.0ms (7.6% of total)
adjust: 32.0ms (5.8% of total)
ival-exp: 8.0ms (1.5% of total)
ival-if: 8.0ms (1.5% of total)
ival-log: 7.0ms (1.3% of total)
ival-true: 4.0ms (0.7% of total)
ival->=: 3.0ms (0.5% of total)
exact: 3.0ms (0.5% of total)
ival-assert: 2.0ms (0.4% of total)

series1.6s (2.5%)

Memory
-103.6MiB live, 1 617.4MiB allocated
Counts
403 → 10 080
Calls

186 calls:

TimeVariablePointExpression
87.0ms
c
@inf
((/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (- (* b b) (* (* 4 a) c)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (>= b 0) (sqrt (- (* b b) (* (* 4 a) c))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)))
64.0ms
c
@0
((+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (>= b 0) (* c (/ -2 (+ (sqrt (+ (* (* -4 c) a) (* b b))) b))) (/ -2 (+ (sqrt (+ (* (* -4 c) a) (* b b))) b)) (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))))) (/ (neg b) a) (* (neg b) (- (/ 1 a) (/ c (* b b)))) (if (>= b 0) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a))) (if (>= b 0) (/ (* c 2) (- b (sqrt (+ (* (* -4 c) a) (* b b))))) (* (/ 1/2 a) (- (sqrt (+ (* (* -4 c) a) (* b b))) b))) (/ (* c 2) (- b (sqrt (+ (* (* -4 c) a) (* b b))))) (* c 2) (/ 1 (/ 1 (+ (* (* -4 c) a) (* b b)))) (/ (* 2 c) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (- (* b b) (* (* 4 a) c)) (+ (neg b) (sqrt (/ 1 (/ 1 (+ (* (* -4 c) a) (* b b)))))) (sqrt (- (* b b) (* (* 4 a) c))) (sqrt (+ (* (* -4 c) a) (* b b))) (+ (sqrt (+ (* (* -4 c) a) (* b b))) b) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (neg b) (/ (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ c (* b b)) (- b (sqrt (+ (* (* -4 c) a) (* b b)))) (- (sqrt (+ (* (* -4 c) a) (* b b))) b) (* (/ 1/2 a) (- (sqrt (+ (* (* -4 c) a) (* b b))) b)) (sqrt (- (* b b) (* (* 4 a) c))) (sqrt (/ 1 (/ 1 (+ (* (* -4 c) a) (* b b))))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))
61.0ms
c
@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 (+ (* -4 (* c a)) (* b b))) b) a) -1/2) (/ (* 2 c) (- (sqrt (+ (* -4 (* c a)) (* b b))) b))) (>= b 0) (* (/ (+ (sqrt (+ (* -4 (* c a)) (* b b))) b) a) -1/2) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (- (/ c b) (/ b a)) (* (+ (sqrt (+ (* (* -4 c) a) (* b b))) b) (/ -1/2 a)) (+ (sqrt (+ (* (* -4 c) a) (* b b))) b) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (- (* b b) (* (* 4 a) c)) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (+ (* -4 (* c a)) (* b b))) (+ (sqrt (+ (* -4 (* c a)) (* b b))) b) (- (sqrt (+ (* -4 (* c a)) (* b b))) b) (/ (* 2 c) (- (sqrt (+ (* -4 (* c a)) (* b b))) b)) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ (* c c) (* b b)) (+ (* a (/ (* c c) (* b b))) c) (sqrt (+ (* (* -4 c) a) (* b b))) (+ (* b b) (+ (* (* -4 c) a) (* b b))) (sqrt (- (* b b) (* (* 4 a) c))))
61.0ms
c
@0
((* c (/ 2 (- (sqrt (+ (* (* -4 c) a) (* b b))) b))) (if (>= b 0) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))) (>= b 0) (* (/ (+ (sqrt (+ (* -4 (* c a)) (* b b))) b) a) -1/2) (* 2 c) (* (/ 1/2 a) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c))))) (/ 1/2 a) (/ 1 (/ (- (sqrt (- (* b b) (* (* 4 a) c))) b) (* 2 c))) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (+ (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* (/ -1 (+ (* b b) (+ (* (* -4 c) a) (* b b)))) (* (- b (sqrt (+ (* (* -4 c) a) (* b b)))) (* 2 c))) (+ (* b b) (+ (* (* -4 c) a) (* b b))) (/ (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (- (* b b) (* (* 4 a) c)) (sqrt (+ (* -4 (* c a)) (* b b))) (sqrt (+ (* (* -4 c) a) (* b b))) (+ (sqrt (+ (* -4 (* c a)) (* b b))) b) (- (sqrt (+ (* (* -4 c) a) (* b b))) b) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (- (sqrt (- (* b b) (* (* 4 a) c))) b) (/ (* 2 c) (- (sqrt (- (* b b) (* (* 4 a) c))) b)) (/ (- (sqrt (- (* b b) (* (* 4 a) c))) b) (* 2 c)) (- (* b b) (* (* 4 a) c)) (sqrt (- (* b b) (* (* 4 a) c))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (- (* b b) (* (* 4 a) c))) (- (neg b) (sqrt (- (* b b) (* (* 4 a) c)))))
56.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) (log (/ -1 (- (/ -1 x) -1))) (/ -1 (- (/ -1 x) -1)) (- (/ -1 x) -1) (/ -1 x))

bsearch643.0ms (1%)

Memory
-37.5MiB live, 1 005.0MiB allocated
Algorithm
56×binary-search
12×left-value
Stop Event
49×narrow-enough
predicate-same
Samples
304.0ms3 168×0valid
63.0ms319×0invalid
6.0ms48×2valid
Compiler

Compiled 23 130 to 14 262 computations (38.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 279.0ms
ival-mult: 123.0ms (44.1% of total)
ival-div: 45.0ms (16.1% of total)
ival-sub: 35.0ms (12.6% of total)
ival-sqrt: 22.0ms (7.9% of total)
ival-add: 16.0ms (5.7% of total)
ival-neg: 10.0ms (3.6% of total)
ival-if: 8.0ms (2.9% of total)
ival->=: 6.0ms (2.2% of total)
ival-fabs: 5.0ms (1.8% of total)
ival-true: 3.0ms (1.1% of total)
exact: 3.0ms (1.1% of total)
adjust: 1.0ms (0.4% of total)
ival-assert: 1.0ms (0.4% of total)

analyze603.0ms (0.9%)

Memory
16.3MiB live, 656.9MiB 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)

start0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated

end0.0ms (0%)

Memory
0.2MiB live, 0.1MiB allocated

Profiling

Loading profile data...