Herbie run

Date:Tuesday, September 10th, 2024
Commit:a30408e4 on zane-concrete-values
Hostname:nightly with Racket 8.11.1
Seed:2024254
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.5s)

sample10.9s (18.7%)

Memory
221.9MiB live, 11 244.0MiB allocated
Samples
5.7s70 163×0valid
833.0ms4 136×2valid
518.0ms1 919×0invalid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 4.8s
ival-mult: 1.3s (27.4% of total)
ival-div: 1.0s (21.4% of total)
ival-sub: 640.0ms (13.4% of total)
ival-sqrt: 377.0ms (7.9% of total)
ival-add: 328.0ms (6.9% of total)
ival-neg: 256.0ms (5.4% of total)
adjust: 167.0ms (3.5% of total)
ival-exp: 162.0ms (3.4% of total)
ival-log: 111.0ms (2.3% of total)
ival-if: 109.0ms (2.3% of total)
ival-fabs: 101.0ms (2.1% of total)
ival->=: 64.0ms (1.3% of total)
ival-true: 53.0ms (1.1% of total)
exact: 53.0ms (1.1% of total)
ival-assert: 27.0ms (0.6% of total)
Bogosity

simplify9.5s (16.2%)

Memory
-220.0MiB live, 9 122.8MiB allocated
Algorithm
71×egg-herbie
Rules
396 064×lower-fma.f32
396 002×lower-fma.f64
176 104×lower-*.f32
175 882×lower-*.f64
90 162×lower-+.f32
Stop Event
91×iter limit
40×node limit
33×saturated
Counts
8 880 → 8 709

eval9.1s (15.5%)

Memory
357.9MiB live, 10 610.0MiB allocated
Compiler

Compiled 1 351 549 to 97 690 computations (92.8% saved)

soundness8.3s (14.2%)

Memory
34.1MiB live, 3 684.6MiB allocated
Rules
252 464×lower-fma.f32
252 430×lower-fma.f64
150 638×lower-*.f32
150 534×lower-*.f64
74 436×lower-/.f32
Stop Event
47×iter limit
31×node limit
done
fuel
saturated
Compiler

Compiled 6 209 to 3 335 computations (46.3% saved)

rewrite6.6s (11.3%)

Memory
66.4MiB live, 7 375.7MiB allocated
Rules
136 100×lower-fma.f32
136 038×lower-fma.f64
117 564×lower-*.f32
117 352×lower-*.f64
111 850×lower-/.f32
Stop Event
66×iter limit
29×node limit
unsound
saturated
Counts
352 → 19 285

localize4.1s (7%)

Memory
-77.8MiB live, 4 968.6MiB allocated
Samples
1.1s5 821×0valid
956.0ms919×2valid
391.0ms559×1valid
315.0ms127×3valid
118.0ms510×0invalid
Compiler

Compiled 7 127 to 717 computations (89.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0s
ival-div: 561.0ms (28.5% of total)
ival-mult: 386.0ms (19.6% of total)
ival-if: 214.0ms (10.9% of total)
ival-sub: 209.0ms (10.6% of total)
adjust: 151.0ms (7.7% of total)
ival-add: 113.0ms (5.7% of total)
ival-sqrt: 83.0ms (4.2% of total)
ival->=: 71.0ms (3.6% of total)
ival-neg: 54.0ms (2.7% of total)
ival-log: 35.0ms (1.8% of total)
ival-pow: 30.0ms (1.5% of total)
ival-exp: 20.0ms (1% of total)
ival-fabs: 14.0ms (0.7% of total)
exact: 11.0ms (0.6% of total)
ival-true: 6.0ms (0.3% of total)
ival-expm1: 5.0ms (0.3% of total)
ival-assert: 3.0ms (0.2% of total)
ival-pow2: 2.0ms (0.1% of total)
ival-e: 2.0ms (0.1% of total)

explain2.4s (4.2%)

Memory
-23.5MiB live, 2 064.8MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue3010
+.f64#fcancellation1220
-.f64#fcancellation1170
sqrt.f64#fuflow-rescue640
/.f64#fu/n280
/.f64#fn/u230
-.f64#fnan-rescue170
*.f64(*.f64 (/.f64 x y) z)n*o100
*.f64(*.f64 (/.f64 x y) z)n*u20
exp.f64(exp.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x))))sensitivity10
log.f64(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))oflow-rescue10
(/.f64 #s(literal 1 binary64) x)overflow1
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))overflow1
Confusion
Predicted +Predicted -
+31717
-2151755
Precision
0.5958646616541353
Recall
0.9491017964071856
Confusion?
Predicted +Predicted MaybePredicted -
+317017
-21501755
Precision?
0.5958646616541353
Recall?
0.9491017964071856
Freqs
test
numberfreq
01772
1387
2136
39
Total Confusion?
Predicted +Predicted MaybePredicted -
+600
-003
Precision?
1.0
Recall?
1.0
Samples
610.0ms586×2valid
339.0ms3 678×0valid
68.0ms282×1valid
24.0ms62×3valid
Compiler

Compiled 1 107 to 300 computations (72.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 721.0ms
ival-if: 266.0ms (36.9% of total)
ival-mult: 207.0ms (28.7% of total)
ival-div: 62.0ms (8.6% of total)
ival-sub: 59.0ms (8.2% of total)
adjust: 33.0ms (4.6% of total)
ival-sqrt: 30.0ms (4.2% of total)
ival-add: 17.0ms (2.4% of total)
ival-neg: 17.0ms (2.4% of total)
ival-log: 7.0ms (1% of total)
ival-fabs: 5.0ms (0.7% of total)
ival-exp: 4.0ms (0.6% of total)
ival->=: 4.0ms (0.6% of total)
ival-true: 4.0ms (0.6% of total)
exact: 3.0ms (0.4% of total)
ival-assert: 2.0ms (0.3% of total)

prune2.4s (4.1%)

Memory
-94.1MiB live, 3 898.8MiB allocated
Counts
37 012 → 307
Compiler

Compiled 15 177 to 8 312 computations (45.2% saved)

preprocess2.0s (3.4%)

Memory
77.1MiB live, 1 707.8MiB 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 4 505 to 1 244 computations (72.4% saved)

series1.4s (2.4%)

Memory
98.0MiB live, 1 882.8MiB allocated
Counts
352 → 8 880
Calls

177 calls:

TimeVariablePointExpression
118.0ms
x
@inf
((fabs (/ (+ (* z x) (- -4 x)) y)) (/ (+ (* z x) (- -4 x)) y) (+ (* z x) (- -4 x)) (- -4 x) (fabs (- (/ (+ x 4) y) (* (/ x y) z))) (- (/ (+ x 4) y) (* (/ x y) z)) (/ 4 y) (fabs (- (/ (+ x 4) y) (* (/ x y) z))) (- (/ (+ x 4) y) (* (/ x y) z)) (/ (- x -4) y) (- x -4) (fabs (- (/ (+ x 4) y) (* (/ x y) z))) (- (/ (+ x 4) y) (* (/ x y) z)) (* (neg z) (/ x y)) (neg z) (fabs (- (/ (+ x 4) y) (* (/ x y) z))) (- (/ (+ x 4) y) (* (/ x y) z)) (* (- 1 z) (/ x y)) (- 1 z))
88.0ms
x
@0
((neg (log (- (exp (neg (log x))) 1))) (log (- (exp (neg (log x))) 1)) (- (exp (neg (log x))) 1) (neg (log x)) (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 (- (exp (neg (log x))) 1)) (neg (pow (log (- (exp (neg (log x))) 1)) 2))) (/ 1 (/ (log (- (exp (neg (log x))) 1)) (neg (pow (log (- (exp (neg (log x))) 1)) 2)))) (pow (log (- (exp (neg (log x))) 1)) 2))
85.0ms
x
@-inf
((neg (log (- (exp (neg (log x))) 1))) (log (- (exp (neg (log x))) 1)) (- (exp (neg (log x))) 1) (neg (log x)) (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 (- (exp (neg (log x))) 1)) (neg (pow (log (- (exp (neg (log x))) 1)) 2))) (/ 1 (/ (log (- (exp (neg (log x))) 1)) (neg (pow (log (- (exp (neg (log x))) 1)) 2)))) (pow (log (- (exp (neg (log x))) 1)) 2))
47.0ms
x
@0
((neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (* (* x x) 1/2) (* x x) (neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (* (+ (* 1/2 x) 1) x) (+ (* 1/2 x) 1) (+ (* (* x x) 1/2) (+ (log x) x)) (neg (log (- (/ 1 x) 1))) (+ (log x) x) (exp (* (log (neg (log (- (exp (neg (log x))) 1)))) -1)) (/ 1 (exp (* (log (neg (log (- (exp (neg (log x))) 1)))) -1))) (log (neg (log (- (exp (neg (log x))) 1)))) (neg (log (- (exp (neg (log x))) 1))) (log x) (log (- (exp (neg (log x))) 1)) (- (exp (neg (log x))) 1))
44.0ms
x
@inf
((neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (* (* x x) 1/2) (* x x) (neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (* (+ (* 1/2 x) 1) x) (+ (* 1/2 x) 1) (+ (* (* x x) 1/2) (+ (log x) x)) (neg (log (- (/ 1 x) 1))) (+ (log x) x) (exp (* (log (neg (log (- (exp (neg (log x))) 1)))) -1)) (/ 1 (exp (* (log (neg (log (- (exp (neg (log x))) 1)))) -1))) (log (neg (log (- (exp (neg (log x))) 1)))) (neg (log (- (exp (neg (log x))) 1))) (log x) (log (- (exp (neg (log x))) 1)) (- (exp (neg (log x))) 1))

regimes804.0ms (1.4%)

Memory
98.3MiB live, 1 117.8MiB allocated
Counts
554 → 104
Calls

26 calls:

148.0ms
b
79.0ms
x
70.0ms
a
64.0ms
c
44.0ms
(if (>=.f64 b #s(literal 0 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 4 binary64) a) c)))) (*.f64 #s(literal 2 binary64) a)))
Compiler

Compiled 1 073 to 907 computations (15.5% saved)

bsearch497.0ms (0.9%)

Memory
13.4MiB live, 745.1MiB allocated
Algorithm
39×binary-search
left-value
Stop Event
30×narrow-enough
predicate-same
Samples
253.0ms2 368×0valid
29.0ms291×0invalid
22.0ms80×2valid
Compiler

Compiled 13 148 to 10 061 computations (23.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 220.0ms
ival-mult: 95.0ms (43.1% of total)
ival-div: 41.0ms (18.6% of total)
ival-add: 22.0ms (10% of total)
ival-sub: 19.0ms (8.6% of total)
ival-sqrt: 10.0ms (4.5% of total)
ival-fabs: 9.0ms (4.1% of total)
ival-neg: 7.0ms (3.2% of total)
ival-if: 6.0ms (2.7% of total)
ival->=: 4.0ms (1.8% of total)
adjust: 2.0ms (0.9% of total)
ival-true: 2.0ms (0.9% of total)
exact: 2.0ms (0.9% of total)
ival-assert: 1.0ms (0.5% of total)

analyze436.0ms (0.7%)

Memory
68.8MiB live, 676.3MiB 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.6MiB live, 0.6MiB allocated

end0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

Profiling

Loading profile data...