Herbie run

Date:Thursday, June 27th, 2024
Commit:1ed5d077 on no-const-taylor
Hostname:nightly with Racket 8.11.1
Seed:2024179
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: 11.2min)

simplify2.8min (24.7%)

Memory
999.5MiB live, 235 294.8MiB allocated
Algorithm
267×egg-herbie
Rules
201 656×fma-define
125 450×fmm-def
123 982×*-commutative
119 024×distribute-lft-in
104 624×distribute-rgt-in
Stop Event
203×node limit
64×saturated
Counts
111 052 → 77 108

prune1.6min (14.1%)

Memory
208.9MiB live, 151 603.2MiB allocated
Counts
149 400 → 3 438
Compiler

Compiled 336 030 to 124 818 computations (62.9% saved)

soundness1.5min (13.5%)

Memory
56.3MiB live, 101 236.1MiB allocated
Rules
83 738×fma-define
58 358×*-commutative
51 996×associate-*r*
44 006×distribute-lft-in
43 628×fmm-def
Stop Event
150×node limit
28×fuel
saturated
done
Compiler

Compiled 48 995 to 10 372 computations (78.8% saved)

series1.3min (11.8%)

Memory
928.3MiB live, 108 956.4MiB allocated
Counts
2 133 → 63 324
Calls

15336 calls:

TimeVariablePointExpression
4.4s
h
@inf
(* (log (fmax (+ (pow (* (floor d) dX.w) 2) (/ (- (pow (* (floor w) dX.u) 4) (pow (* (floor h) dX.v) 4)) (- (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)))) (pow (sqrt (+ (* (* (floor d) dY.w) (* (floor d) dY.w)) (* (sqrt (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (sqrt (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))))) 2))) 1/2)
1.6s
dX.w
@inf
(log (log2 (sqrt (fmax (+ (pow (* (floor d) dX.w) 2) (/ (- (pow (* (floor w) dX.u) 4) (pow (* (floor h) dX.v) 4)) (- (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)))) (pow (sqrt (+ (* (* (floor d) dY.w) (* (floor d) dY.w)) (* (sqrt (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (sqrt (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))))) 2)))))
1.1s
w
@-inf
(log (+ 1 (pow (log2 (sqrt (fmax (+ (pow (* dX.w (floor d)) 2) (/ (- (pow (* dX.u (floor w)) 4) (pow (* dX.v (floor h)) 4)) (- (pow (* dX.u (floor w)) 2) (pow (* dX.v (floor h)) 2)))) (pow (sqrt (+ (* (* (floor d) dY.w) (* (floor d) dY.w)) (* (sqrt (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (sqrt (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))))) 2)))) 3)))
928.0ms
h
@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 (sqrt (+ (* (* (floor d) dY.w) (* (floor d) dY.w)) (* (sqrt (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (sqrt (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))))) 2))) 1/2)
912.0ms
cosTheta_O
@-inf
(* (/ 1/2 v) (pow (exp (- (+ (* cosTheta_O cosTheta_i) (* v 6931/10000)) (+ (* sinTheta_O sinTheta_i) 1))) (/ 1 v)))

sample1.3min (11.7%)

Memory
643.4MiB live, 100 760.9MiB allocated
Samples
57.8s247 633×0valid
1.9s10 721×0invalid
6.0ms47×1valid
Precisions
Click to see histograms. Total time spent on operations: 47.3s
ival-mult: 11.3s (23.9% of total)
...in/eval/compile.rkt:77:19: 7.4s (15.7% of total)
ival-<=: 6.4s (13.5% of total)
ival-div: 4.3s (9.2% of total)
ival-sub: 2.2s (4.6% of total)
ival-sin: 2.0s (4.2% of total)
ival-add: 1.8s (3.7% of total)
ival-sqrt: 1.5s (3.2% of total)
ival-log: 1.4s (3% of total)
ival-fabs: 1.3s (2.7% of total)
ival-and: 1.2s (2.5% of total)
ival-exp: 1.1s (2.3% of total)
ival-cos: 869.0ms (1.8% of total)
ival-floor: 754.0ms (1.6% of total)
ival-pi: 510.0ms (1.1% of total)
ival-neg: 502.0ms (1.1% of total)
ival-tan: 469.0ms (1% of total)
ival-fmax: 381.0ms (0.8% of total)
...in/eval/compile.rkt:76:19: 345.0ms (0.7% of total)
ival->: 259.0ms (0.5% of total)
ival-log2: 243.0ms (0.5% of total)
ival-if: 223.0ms (0.5% of total)
ival-sinh: 207.0ms (0.4% of total)
ival-atan: 175.0ms (0.4% of total)
ival-<: 165.0ms (0.3% of total)
ival-asin: 143.0ms (0.3% of total)
ival-assert: 97.0ms (0.2% of total)
ival-==: 97.0ms (0.2% of total)
ival->=: 50.0ms (0.1% of total)
adjust: 1.0ms (0% of total)
Bogosity

localize36.6s (5.4%)

Memory
-211.1MiB live, 52 740.5MiB allocated
Samples
13.8s27 321×0valid
3.7s538×5exit
820.0ms1 378×0invalid
452.0ms542×1valid
226.0ms685×0exit
Compiler

Compiled 116 806 to 6 246 computations (94.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.7s
ival-mult: 3.8s (26.2% of total)
ival-add: 1.8s (12.4% of total)
ival-div: 1.7s (11.7% of total)
ival-pow: 995.0ms (6.8% of total)
ival-log: 802.0ms (5.5% of total)
ival-hypot: 613.0ms (4.2% of total)
...in/eval/compile.rkt:77:19: 561.0ms (3.8% of total)
ival-sqrt: 506.0ms (3.4% of total)
ival-pow2: 493.0ms (3.4% of total)
ival-sub: 476.0ms (3.2% of total)
ival-sin: 473.0ms (3.2% of total)
ival-cos: 315.0ms (2.1% of total)
ival-exp: 266.0ms (1.8% of total)
ival-log1p: 239.0ms (1.6% of total)
adjust: 217.0ms (1.5% of total)
ival-log2: 211.0ms (1.4% of total)
ival-expm1: 157.0ms (1.1% of total)
ival-neg: 146.0ms (1% of total)
ival-fmax: 142.0ms (1% of total)
ival-if: 130.0ms (0.9% of total)
ival-floor: 89.0ms (0.6% of total)
ival-tan: 85.0ms (0.6% of total)
ival-pi: 68.0ms (0.5% of total)
ival-cbrt: 65.0ms (0.4% of total)
ival-asin: 45.0ms (0.3% of total)
...in/eval/compile.rkt:76:19: 44.0ms (0.3% of total)
ival-fabs: 30.0ms (0.2% of total)
ival-true: 30.0ms (0.2% of total)
ival->: 20.0ms (0.1% of total)
ival->=: 20.0ms (0.1% of total)
ival-atan: 16.0ms (0.1% of total)
ival-sinh: 14.0ms (0.1% of total)
ival-assert: 14.0ms (0.1% of total)
ival-<: 7.0ms (0% of total)
ival-acos: 6.0ms (0% of total)
ival-e: 4.0ms (0% of total)

rewrite31.5s (4.7%)

Memory
62.4MiB live, 35 899.6MiB allocated
Algorithm
118×batch-egg-rewrite
Rules
60 682×log1p-expm1-u
52 801×expm1-log1p-u
39 837×pow1
37 550×log-prod
36 901×add-exp-log
Stop Event
118×node limit
Counts
2 133 → 47 728

eval31.4s (4.7%)

Memory
959.2MiB live, 52 729.5MiB allocated
Compiler

Compiled 15 485 805 to 704 283 computations (95.5% saved)

analyze20.1s (3%)

Memory
-219.7MiB live, 29 541.5MiB 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)

regimes18.8s (2.8%)

Memory
-347.0MiB live, 24 393.5MiB allocated
Counts
5 893 → 201
Calls

145 calls:

1.1s
(log2.f32 (sqrt.f32 (fmax.f32 (+.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (*.f32 (*.f32 (floor.f32 d) dX.w) (*.f32 (floor.f32 d) dX.w))) (+.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))) (*.f32 (*.f32 (floor.f32 d) dY.w) (*.f32 (floor.f32 d) dY.w))))))
618.0ms
s
567.0ms
uy
377.0ms
r
366.0ms
cosTheta_i
Compiler

Compiled 10 931 to 7 088 computations (35.2% saved)

explain9.4s (1.4%)

Memory
-381.0MiB live, 13 486.6MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f32#fsensitivity99577
-.f32#fcancellation39630
sqrt.f32#foflow-rescue3460
cos.f32(cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32)))))))sensitivity2049
tan.f32(tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))cancellation19712
/.f32#fo/n1440
exp.f32#fsensitivity5015
/.f32#fu/n160
/.f32#fo/o120
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-rescue100
(*.f32 sinTheta_O sinTheta_O)underflow288
(-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O)))))underflow10
(/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))underflow144
(*.f32 eta eta)underflow10
/.f32#fn/o80
*.f32(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))n*u20
*.f32(*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta))n*o10
Confusion
Predicted +Predicted -
+162673
-4035578
Precision
0.8013799901429276
Recall
0.9570335491465568
Confusion?
Predicted +Predicted MaybePredicted -
+16264429
-403975481
Precision?
0.7695852534562212
Recall?
0.9829311359623308
Freqs
test
numberfreq
05651
11689
2328
312
Total Confusion?
Predicted +Predicted MaybePredicted -
+2012
-412
Precision?
0.8076923076923077
Recall?
0.9130434782608695
Samples
2.6s15 320×0valid
14.0ms40×1valid
Compiler

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

Precisions
Click to see histograms. Total time spent on operations: 1.8s
ival-mult: 507.0ms (27.5% of total)
ival-exp: 449.0ms (24.4% of total)
ival-div: 214.0ms (11.6% of total)
ival-add: 82.0ms (4.5% of total)
ival-log: 82.0ms (4.5% of total)
ival-sub: 78.0ms (4.2% of total)
ival-sin: 76.0ms (4.1% of total)
ival-sqrt: 64.0ms (3.5% of total)
ival-floor: 45.0ms (2.4% of total)
ival-cos: 45.0ms (2.4% of total)
ival-neg: 28.0ms (1.5% of total)
ival-pi: 23.0ms (1.2% of total)
...in/eval/compile.rkt:77:19: 23.0ms (1.2% of total)
ival-tan: 18.0ms (1% of total)
ival-fmax: 17.0ms (0.9% of total)
ival-log2: 14.0ms (0.8% of total)
ival-true: 14.0ms (0.8% of total)
ival-if: 13.0ms (0.7% of total)
...in/eval/compile.rkt:76:19: 8.0ms (0.4% of total)
ival-fabs: 8.0ms (0.4% of total)
ival-assert: 7.0ms (0.4% of total)
ival-atan: 7.0ms (0.4% of total)
ival-sinh: 6.0ms (0.3% of total)
ival-asin: 5.0ms (0.3% of total)
ival->: 3.0ms (0.2% of total)
ival->=: 3.0ms (0.2% of total)
ival-<: 2.0ms (0.1% of total)
adjust: 1.0ms (0.1% of total)

preprocess8.0s (1.2%)

Memory
10.0MiB live, 9 528.0MiB 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 37 312 to 13 650 computations (63.4% saved)

end6.5s (1%)

Memory
-45.7MiB live, 3 325.7MiB allocated

bsearch4.0ms (0%)

Memory
14.2MiB live, 14.2MiB allocated
Algorithm
left-value
binary-search
Stop Event
narrow-enough
Compiler

Compiled 87 to 56 computations (35.6% saved)

Profiling

Loading profile data...