Herbie run

Date:Friday, June 28th, 2024
Commit:698d17c4 on main
Hostname:nightly with Racket 8.11.1
Seed:2024180
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.4min)

simplify2.6min (27.3%)

Memory
1 662.5MiB live, 213 883.4MiB allocated
Algorithm
270×egg-herbie
Rules
210 964×fma-define
119 174×fmm-def
114 416×times-frac
111 840×distribute-lft-in
108 444×*-commutative
Stop Event
198×node limit
71×saturated
unsound
Counts
102 240 → 72 112

soundness1.6min (17.1%)

Memory
217.5MiB live, 107 235.8MiB allocated
Rules
94 820×fma-define
60 370×associate-*r*
60 262×times-frac
59 636×*-commutative
50 136×distribute-lft-in
Stop Event
161×node limit
29×fuel
saturated
done
Compiler

Compiled 62 870 to 11 795 computations (81.2% saved)

sample1.3min (14.4%)

Memory
1 023.7MiB live, 110 949.2MiB allocated
Samples
59.9s247 624×0valid
2.3s10 522×0invalid
7.0ms56×1valid
Precisions
Click to see histograms. Total time spent on operations: 49.2s
ival-mult: 10.7s (21.7% of total)
ival-<=: 6.9s (13.9% of total)
...in/eval/compile.rkt:105:19: 6.5s (13.1% of total)
ival-div: 4.9s (10% of total)
ival-add: 2.3s (4.7% of total)
ival-sin: 2.3s (4.6% of total)
ival-log: 2.2s (4.5% of total)
ival-sub: 1.8s (3.7% of total)
ival-sqrt: 1.7s (3.5% of total)
ival-fabs: 1.2s (2.5% of total)
ival-cos: 1.2s (2.4% of total)
ival-and: 1.2s (2.3% of total)
ival-exp: 1.1s (2.2% of total)
ival-floor: 942.0ms (1.9% of total)
ival-pi: 796.0ms (1.6% of total)
ival-neg: 701.0ms (1.4% of total)
ival->: 376.0ms (0.8% of total)
ival-tan: 364.0ms (0.7% of total)
ival-fmax: 347.0ms (0.7% of total)
...in/eval/compile.rkt:104:19: 315.0ms (0.6% of total)
ival-<: 292.0ms (0.6% of total)
ival-if: 273.0ms (0.6% of total)
ival-log2: 238.0ms (0.5% of total)
ival-asin: 134.0ms (0.3% of total)
ival-==: 121.0ms (0.2% of total)
ival-atan: 118.0ms (0.2% of total)
ival-assert: 98.0ms (0.2% of total)
ival->=: 89.0ms (0.2% of total)
ival-sinh: 76.0ms (0.2% of total)
adjust: 1.0ms (0% of total)
Bogosity

prune39.1s (7%)

Memory
-278.8MiB live, 63 220.9MiB allocated
Counts
134 817 → 3 894
Compiler

Compiled 367 804 to 127 243 computations (65.4% saved)

localize32.8s (5.8%)

Memory
110.9MiB live, 49 074.5MiB allocated
Samples
11.6s26 761×0valid
2.7s685×5exit
1.4s2 092×0invalid
957.0ms929×1valid
53.0ms253×0exit
Compiler

Compiled 103 532 to 5 565 computations (94.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.8s
ival-mult: 3.6s (28.2% of total)
ival-div: 1.6s (12.1% of total)
ival-add: 852.0ms (6.6% of total)
ival-sin: 536.0ms (4.2% of total)
ival-pow2: 535.0ms (4.2% of total)
ival-exp: 523.0ms (4.1% of total)
ival-sqrt: 522.0ms (4.1% of total)
ival-pow: 475.0ms (3.7% of total)
...in/eval/compile.rkt:105:19: 463.0ms (3.6% of total)
ival-hypot: 387.0ms (3% of total)
ival-tan: 386.0ms (3% of total)
adjust: 365.0ms (2.8% of total)
ival-log: 334.0ms (2.6% of total)
ival-pi: 294.0ms (2.3% of total)
ival-neg: 282.0ms (2.2% of total)
ival-sub: 271.0ms (2.1% of total)
ival-log1p: 231.0ms (1.8% of total)
ival-cos: 207.0ms (1.6% of total)
ival-atan: 174.0ms (1.4% of total)
ival-fmax: 172.0ms (1.3% of total)
ival-if: 116.0ms (0.9% of total)
ival-log2: 94.0ms (0.7% of total)
ival-floor: 86.0ms (0.7% of total)
ival-fabs: 74.0ms (0.6% of total)
ival-expm1: 51.0ms (0.4% of total)
ival-cbrt: 48.0ms (0.4% of total)
...in/eval/compile.rkt:104:19: 39.0ms (0.3% of total)
ival-asin: 39.0ms (0.3% of total)
ival-true: 29.0ms (0.2% of total)
ival->=: 25.0ms (0.2% of total)
ival->: 16.0ms (0.1% of total)
ival-assert: 13.0ms (0.1% of total)
ival-sinh: 10.0ms (0.1% of total)
ival-e: 7.0ms (0.1% of total)
ival-<: 6.0ms (0% of total)

rewrite32.3s (5.7%)

Memory
269.0MiB live, 35 854.7MiB allocated
Algorithm
120×batch-egg-rewrite
Rules
59 528×log1p-expm1-u
48 651×expm1-log1p-u
36 390×pow1
35 546×add-exp-log
35 386×log-prod
Stop Event
120×node limit
Counts
1 993 → 45 542

series31.4s (5.6%)

Memory
-124.0MiB live, 46 923.0MiB allocated
Counts
1 993 → 56 698
Calls

13797 calls:

TimeVariablePointExpression
407.0ms
dY.u
@0
(if (>= (+ (* (floor w) (* (* dX.u dX.u) (floor w))) (* (floor h) (* (floor h) (* dX.v dX.v)))) (+ (* (floor h) (* dY.v (* (floor h) dY.v))) (* dY.u (* dY.u (* (floor w) (floor w)))))) (/ (* (floor w) dX.u) (sqrt (fmax (+ (* (floor w) (* (* dX.u dX.u) (floor w))) (* (floor h) (* (floor h) (* dX.v dX.v)))) (+ (* (floor h) (* dY.v (* (floor h) dY.v))) (* dY.u (* dY.u (* (floor w) (floor w)))))))) (/ (* (floor w) dY.u) (sqrt (fmax (+ (* (floor w) (* (* dX.u dX.u) (floor w))) (* (floor h) (* (floor h) (* dX.v dX.v)))) (+ (* (floor h) (* dY.v (* (floor h) dY.v))) (* dY.u (* dY.u (* (floor w) (floor w)))))))))
329.0ms
u2
@inf
(* (sqrt (neg (log (- 1 u1)))) (sin (* (* 2 (PI)) u2)))
300.0ms
tau
@-inf
(log (* (PI) (* x tau)))
298.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)
290.0ms
dX.u
@inf
(>= (pow (* dX.u (floor w)) 2) (pow (sqrt (+ (* (* (floor h) dY.v) (* (floor h) dY.v)) (* (* (floor w) dY.u) (* (floor w) dY.u)))) 2))

regimes29.5s (5.3%)

Memory
159.0MiB live, 43 377.1MiB allocated
Counts
8 948 → 380
Calls

145 calls:

946.0ms
cosTheta_i
944.0ms
u2
636.0ms
u1
627.0ms
dX.u
619.0ms
dY.u
Compiler

Compiled 13 724 to 9 597 computations (30.1% saved)

eval29.0s (5.2%)

Memory
-370.9MiB live, 44 089.2MiB allocated
Compiler

Compiled 11 765 758 to 565 154 computations (95.2% saved)

analyze21.1s (3.8%)

Memory
174.7MiB live, 31 011.7MiB 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)

explain8.6s (1.5%)

Memory
74.6MiB live, 13 741.9MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f32#fsensitivity1008105
-.f32#fcancellation38939
sqrt.f32#foflow-rescue3800
tan.f32(tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))cancellation19413
cos.f32#fsensitivity18811
/.f32#fo/n1400
exp.f32#fsensitivity3118
/.f32#fu/n300
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-rescue160
(*.f32 sinTheta_O sinTheta_O)underflow284
(-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O)))))underflow16
(/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))underflow142
(*.f32 eta eta)underflow16
/.f32#fo/o140
/.f32#fn/o70
*.f32(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))n*u30
sin.f32(sin.f32 (*.f32 (*.f32 x (PI.f32)) tau))cancellation10
Confusion
Predicted +Predicted -
+167658
-3825564
Precision
0.814382896015549
Recall
0.9665513264129181
Confusion?
Predicted +Predicted MaybePredicted -
+16763028
-3821465418
Precision?
0.7636526410026858
Recall?
0.9838523644752019
Freqs
test
numberfreq
05622
11730
2313
315
Total Confusion?
Predicted +Predicted MaybePredicted -
+2110
-224
Precision?
0.8461538461538461
Recall?
1.0
Samples
2.9s15 288×0valid
26.0ms72×1valid
Compiler

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

Precisions
Click to see histograms. Total time spent on operations: 1.9s
ival-mult: 542.0ms (29% of total)
ival-sin: 267.0ms (14.3% of total)
ival-div: 262.0ms (14% of total)
ival-sub: 142.0ms (7.6% of total)
ival-log: 111.0ms (5.9% of total)
ival-add: 90.0ms (4.8% of total)
ival-neg: 80.0ms (4.3% of total)
ival-sqrt: 69.0ms (3.7% of total)
ival-floor: 49.0ms (2.6% of total)
ival-exp: 44.0ms (2.4% of total)
ival-cos: 38.0ms (2% of total)
...in/eval/compile.rkt:105:19: 25.0ms (1.3% of total)
ival-pi: 22.0ms (1.2% of total)
ival-tan: 19.0ms (1% of total)
ival-if: 17.0ms (0.9% of total)
ival-fmax: 16.0ms (0.9% of total)
ival-log2: 15.0ms (0.8% of total)
ival-true: 14.0ms (0.7% of total)
...in/eval/compile.rkt:104:19: 8.0ms (0.4% of total)
ival-fabs: 8.0ms (0.4% of total)
ival-atan: 7.0ms (0.4% of total)
ival-assert: 6.0ms (0.3% of total)
ival-asin: 5.0ms (0.3% of total)
ival-sinh: 5.0ms (0.3% of total)
adjust: 3.0ms (0.2% of total)
ival->: 3.0ms (0.2% of total)
ival->=: 3.0ms (0.2% of total)
ival-<: 1.0ms (0.1% of total)

preprocess8.1s (1.5%)

Memory
-24.9MiB live, 10 927.8MiB 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 52 142 to 15 438 computations (70.4% saved)

bsearch29.0ms (0%)

Memory
31.6MiB live, 70.8MiB allocated
Algorithm
63×binary-search
left-value
Stop Event
63×narrow-enough
Compiler

Compiled 2 876 to 1 630 computations (43.3% saved)

end0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated

Profiling

Loading profile data...