Herbie run

Date:Thursday, June 20th, 2024
Commit:aefdd770 on main
Hostname:nightly with Racket 8.11.1
Seed:2024172
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: 9.0min)

simplify2.4min (26.6%)

Memory
880.6MiB live, 206 087.2MiB allocated
Algorithm
270×egg-herbie
Rules
195 380×fma-define
124 532×distribute-lft-in
113 324×*-commutative
111 654×times-frac
107 260×distribute-rgt-in
Stop Event
202×node limit
67×saturated
unsound
Counts
97 949 → 70 180

soundness1.5min (16.4%)

Memory
372.6MiB live, 103 953.1MiB allocated
Rules
101 520×fma-define
62 766×*-commutative
61 456×associate-*r*
59 392×times-frac
53 220×fmm-def
Stop Event
162×node limit
29×fuel
saturated
unsound
done
Compiler

Compiled 63 069 to 12 941 computations (79.5% saved)

sample1.3min (14.5%)

Memory
1 036.0MiB live, 102 975.6MiB allocated
Samples
57.5s247 628×0valid
1.9s10 451×0invalid
7.0ms52×1valid
Precisions
Click to see histograms. Total time spent on operations: 47.4s
ival-mult: 10.6s (22.4% of total)
...in/eval/compile.rkt:77:19: 7.2s (15.3% of total)
ival-<=: 6.3s (13.2% of total)
ival-div: 4.7s (9.9% of total)
ival-add: 2.3s (4.9% of total)
ival-sin: 2.0s (4.2% of total)
ival-log: 1.9s (4% of total)
ival-sub: 1.9s (3.9% of total)
ival-sqrt: 1.5s (3.1% of total)
ival-and: 1.3s (2.7% of total)
ival-fabs: 1.3s (2.7% of total)
ival-exp: 1.0s (2.2% of total)
ival-cos: 979.0ms (2.1% of total)
ival-floor: 650.0ms (1.4% of total)
ival-pi: 547.0ms (1.2% of total)
ival-neg: 535.0ms (1.1% of total)
ival-<: 507.0ms (1.1% of total)
ival-tan: 397.0ms (0.8% of total)
ival-fmax: 317.0ms (0.7% of total)
...in/eval/compile.rkt:76:19: 306.0ms (0.6% of total)
ival-log2: 245.0ms (0.5% of total)
ival-if: 215.0ms (0.5% of total)
ival->: 149.0ms (0.3% of total)
ival-asin: 138.0ms (0.3% of total)
ival-==: 130.0ms (0.3% of total)
ival-atan: 106.0ms (0.2% of total)
ival-sinh: 105.0ms (0.2% of total)
ival-assert: 95.0ms (0.2% of total)
ival->=: 61.0ms (0.1% of total)
adjust: 1.0ms (0% of total)
Bogosity

prune38.1s (7.1%)

Memory
-415.8MiB live, 64 599.4MiB allocated
Counts
135 475 → 3 901
Compiler

Compiled 325 417 to 127 169 computations (60.9% saved)

localize35.3s (6.5%)

Memory
278.7MiB live, 54 594.1MiB allocated
Samples
12.8s27 253×0valid
5.7s464×5exit
1.1s1 165×1valid
773.0ms1 319×0invalid
218.0ms519×0exit
Compiler

Compiled 100 724 to 5 696 computations (94.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.5s
ival-mult: 4.1s (24.7% of total)
ival-div: 1.9s (11.3% of total)
ival-sin: 1.5s (9.4% of total)
ival-tan: 1.2s (7% of total)
ival-add: 1.1s (6.8% of total)
ival-sqrt: 904.0ms (5.5% of total)
ival-atan: 796.0ms (4.8% of total)
ival-pow2: 600.0ms (3.6% of total)
ival-pow: 531.0ms (3.2% of total)
...in/eval/compile.rkt:77:19: 425.0ms (2.6% of total)
ival-log: 364.0ms (2.2% of total)
ival-hypot: 349.0ms (2.1% of total)
ival-sub: 316.0ms (1.9% of total)
ival-exp: 313.0ms (1.9% of total)
ival-log1p: 290.0ms (1.8% of total)
adjust: 276.0ms (1.7% of total)
ival-fabs: 245.0ms (1.5% of total)
ival-neg: 214.0ms (1.3% of total)
ival-expm1: 192.0ms (1.2% of total)
ival-cos: 168.0ms (1% of total)
ival-fmax: 127.0ms (0.8% of total)
ival-if: 115.0ms (0.7% of total)
ival-floor: 112.0ms (0.7% of total)
ival-log2: 98.0ms (0.6% of total)
ival-pi: 55.0ms (0.3% of total)
ival-asin: 44.0ms (0.3% of total)
ival-cbrt: 41.0ms (0.2% of total)
...in/eval/compile.rkt:76:19: 39.0ms (0.2% of total)
ival-true: 28.0ms (0.2% of total)
ival->=: 22.0ms (0.1% of total)
ival->: 18.0ms (0.1% of total)
ival-assert: 14.0ms (0.1% of total)
ival-sinh: 10.0ms (0.1% of total)
ival-<: 7.0ms (0% of total)
ival-e: 2.0ms (0% of total)

rewrite31.7s (5.9%)

Memory
400.9MiB live, 34 528.8MiB allocated
Algorithm
120×batch-egg-rewrite
Rules
63 073×log1p-expm1-u
50 892×expm1-log1p-u
37 292×pow1
36 932×log-prod
35 642×add-exp-log
Stop Event
120×node limit
Counts
1 935 → 44 053

series30.9s (5.7%)

Memory
218.9MiB live, 48 260.4MiB allocated
Counts
1 935 → 53 896
Calls

13146 calls:

TimeVariablePointExpression
837.0ms
dX.w
@inf
(log (+ 1 (log2 (sqrt (fmax (pow (sqrt (+ (* (* dX.w (floor d)) (* dX.w (floor d))) (* (sqrt (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* dX.v (floor h)) (* dX.v (floor h))))) (sqrt (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* dX.v (floor h)) (* dX.v (floor h)))))))) 2) (pow (* (floor h) dY.v) 2))))))
467.0ms
w
@inf
(* (log (fmax (pow (sqrt (+ (* (* (floor d) dX.w) (* (floor d) dX.w)) (* (sqrt (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v)))) (sqrt (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))))))) 2) (pow (* (floor d) dY.w) 2))) 1/2)
300.0ms
dX.w
@inf
(* (log (fmax (pow (sqrt (+ (* (* (floor d) dX.w) (* (floor d) dX.w)) (* (sqrt (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v)))) (sqrt (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))))))) 2) (pow (* (floor d) dY.w) 2))) 1/2)
299.0ms
cosTheta_O
@0
(* (pow (+ 1 sinTheta_i) (/ sinTheta_O (neg v))) (/ (* cosTheta_O (* (/ cosTheta_i v) (/ 1 v))) (* (sinh (/ 1 v)) 2)))
284.0ms
dY.u
@inf
(/ (sqrt (fmax (pow (* dX.v (floor h)) 2) (+ (* (floor w) (* (* dY.u dY.u) (floor w))) (* (floor h) (* (* dY.v dY.v) (floor h)))))) (floor maxAniso))

regimes27.2s (5%)

Memory
16.7MiB live, 41 951.3MiB allocated
Counts
8 977 → 395
Calls

145 calls:

997.0ms
dY.v
865.0ms
s
625.0ms
uy
604.0ms
w
601.0ms
h
Compiler

Compiled 13 279 to 9 188 computations (30.8% saved)

eval27.0s (5%)

Memory
215.5MiB live, 45 269.2MiB allocated
Compiler

Compiled 11 715 207 to 581 715 computations (95% saved)

analyze20.0s (3.7%)

Memory
159.6MiB live, 33 566.6MiB allocated
Algorithm
30×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%2.6%97.4%0%0%0%0
0%0%2.6%97.4%0%0%0%1
7.8%0.2%2.4%97.4%0%0%0%2
8.5%0.2%2.4%97.4%0%0%0%3
12.8%0.3%2.3%97.4%0%0%0%4
47%1.2%1.4%97.4%0%0%0%5
51.8%1.3%1.2%97.4%0%0.1%0%6
69.5%1.8%0.8%97.4%0%0.1%0%7
71.6%1.8%0.7%97.4%0%0.1%0%8
81.1%2.1%0.5%97.4%0%0.1%0%9
82.6%2.1%0.4%97.4%0%0.1%0%10
88.3%2.2%0.3%97.4%0%0.1%0%11
89.1%2.2%0.3%97.4%0%0.1%0%12
Compiler

Compiled 2 586 to 1 076 computations (58.4% saved)

preprocess9.6s (1.8%)

Memory
-279.5MiB live, 10 966.9MiB allocated
Algorithm
30×egg-herbie
Rules
30 620×fma-define
21 784×fmm-def
14 698×distribute-lft-neg-in
14 266×unsub-neg
11 858×distribute-rgt-neg-in
Stop Event
19×node limit
11×saturated
Compiler

Compiled 44 724 to 14 078 computations (68.5% saved)

explain9.4s (1.8%)

Memory
244.4MiB live, 14 197.3MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f32#fsensitivity100763
-.f32#fcancellation36433
sqrt.f32#foflow-rescue3490
tan.f32(tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))cancellation19310
cos.f32#fsensitivity19218
/.f32#fo/n1440
exp.f32#fsensitivity4128
/.f32#fu/n260
sqrt.f32(sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))))uflow-rescue150
(*.f32 sinTheta_O sinTheta_O)underflow286
(-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O)))))underflow15
(/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))underflow143
(*.f32 eta eta)underflow15
/.f32#fo/o80
*.f32#fn*o30
/.f32(/.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))n/o20
(/.f32 sin2phi (*.f32 alphay alphay))overflow8
(+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))overflow8
+.f32(+.f32 (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) xi) (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) yi))cancellation10
Confusion
Predicted +Predicted -
+162067
-3905603
Precision
0.8059701492537313
Recall
0.9602845287492591
Confusion?
Predicted +Predicted MaybePredicted -
+16204126
-3901045499
Precision?
0.7707656612529002
Recall?
0.9845880260818021
Freqs
test
numberfreq
05670
11683
2319
38
Total Confusion?
Predicted +Predicted MaybePredicted -
+2220
-411
Precision?
0.8275862068965517
Recall?
1.0
Samples
2.9s15 308×0valid
18.0ms52×1valid
Compiler

Compiled 18 280 to 2 256 computations (87.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.1s
ival-mult: 875.0ms (42.2% of total)
ival-add: 254.0ms (12.2% of total)
ival-div: 250.0ms (12.1% of total)
ival-cos: 97.0ms (4.7% of total)
ival-sin: 88.0ms (4.2% of total)
ival-sub: 87.0ms (4.2% of total)
ival-log: 82.0ms (4% of total)
ival-sqrt: 62.0ms (3% of total)
ival-exp: 41.0ms (2% of total)
ival-floor: 39.0ms (1.9% of total)
ival-neg: 26.0ms (1.3% of total)
...in/eval/compile.rkt:77:19: 22.0ms (1.1% of total)
ival-tan: 21.0ms (1% of total)
ival-pi: 21.0ms (1% of total)
ival-log2: 17.0ms (0.8% of total)
ival-fmax: 16.0ms (0.8% of total)
ival-if: 16.0ms (0.8% of total)
ival-true: 14.0ms (0.7% of total)
ival-fabs: 8.0ms (0.4% of total)
...in/eval/compile.rkt:76:19: 7.0ms (0.3% of total)
ival-atan: 7.0ms (0.3% of total)
ival-assert: 6.0ms (0.3% of total)
ival-asin: 5.0ms (0.2% of total)
ival-sinh: 5.0ms (0.2% of total)
ival->: 3.0ms (0.1% of total)
ival->=: 3.0ms (0.1% of total)
adjust: 1.0ms (0% of total)
ival-<: 1.0ms (0% of total)

bsearch67.0ms (0%)

Memory
-66.8MiB live, 106.0MiB allocated
Algorithm
48×binary-search
29×left-value
Stop Event
48×narrow-enough
Compiler

Compiled 3 656 to 1 932 computations (47.2% saved)

end0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated

Profiling

Loading profile data...