Details

Time bar (total: 10.8s)

analyze952.0ms (8.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
25%74.9%0.1%6
25%74.9%0.1%7
25%74.9%0.1%8
25%74.9%0.1%9
25%64%11.1%10
31.2%54.6%14.2%11
39%44.1%16.9%12
39%41.5%19.5%13
42.9%37%20.1%14
Compiler

Compiled 23 to 16 computations (30.4% saved)

sample85.0ms (0.8%)

Algorithm
intervals
Results
16.0ms55×body1024valid
15.0ms39×body1024invalid
12.0ms157×body128valid
7.0ms32×body512valid
6.0ms28×body512invalid
2.0ms12×body256valid
1.0ms17×body128invalid
1.0msbody256invalid
Compiler

Compiled 48 to 34 computations (29.2% saved)

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
23×*-commutative_binary64
20×associate-/l*_binary64
11×associate-/r/_binary64
associate-*r/_binary64
distribute-rgt-out_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01320
12620
24620
36620
48520
59720
610820
710620
810620

prune6.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.4b
Counts
2 → 2
Alt Table
StatusErrorProgram
0.5b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.4b
(*.f64 (cos.f64 th) (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2)))
Compiler

Compiled 92 to 63 computations (31.5% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(cos.f64 th)
0.0b
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
0.2b
(*.f64 (cos.f64 th) (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2)))
0.4b
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2))

rewrite156.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
41×add-sqr-sqrt_binary64
38×times-frac_binary64
33×*-un-lft-identity_binary64
33×add-cube-cbrt_binary64
22×associate-*r*_binary64
Counts
4 → 101
Calls

4 calls:

13.0ms
(*.f64 (cos.f64 th) (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2)))
7.0ms
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2))
4.0ms
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
1.0ms
(cos.f64 th)
Compiler

Compiled 2219 to 800 computations (63.9% saved)

series179.0ms (1.7%)

Error
0.3b
Counts
4 → 46
Calls

4 calls:

86.0ms
(*.f64 (cos.f64 th) (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2)))
39.0ms
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2))
24.0ms
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
8.0ms
(cos.f64 th)
Compiler

Compiled 1622 to 1291 computations (20.4% saved)

simplify128.0ms (1.2%)

Algorithm
egg-herbie
Rules
867×distribute-rgt-in_binary64
318×cancel-sign-sub-inv_binary64
309×associate-/l*_binary64
282×*-commutative_binary64
273×unswap-sqr_binary64
Counts
147 → 128
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01653223
14192977
213482944
333862944
457402944

prune117.0ms (1.1%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1217128
Fresh011
Picked101
Done000
Total1228130
Error
0.0b
Counts
130 → 8
Alt Table
StatusErrorProgram
0.6b
(*.f64 (*.f64 (cos.f64 th) (/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (sqrt.f64 (sqrt.f64 2)))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 (sqrt.f64 2))))
14.7b
(*.f64 (sqrt.f64 (cos.f64 th)) (*.f64 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 2)) (sqrt.f64 (cos.f64 th))))
0.5b
(*.f64 (cos.f64 th) (/.f64 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 (sqrt.f64 2))) (sqrt.f64 (sqrt.f64 2))))
0.6b
(*.f64 (cos.f64 th) (/.f64 1 (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))
0.6b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 (sqrt.f64 2))) (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 (sqrt.f64 2))))
0.5b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.4b
(*.f64 (*.f64 (cos.f64 th) (/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cbrt.f64 (sqrt.f64 2))))
0.4b
(*.f64 (cos.f64 th) (/.f64 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))) (cbrt.f64 (sqrt.f64 2))))
Compiler

Compiled 2062 to 921 computations (55.3% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.3b
(/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cbrt.f64 (sqrt.f64 2)))
0.3b
(*.f64 (*.f64 (cos.f64 th) (/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cbrt.f64 (sqrt.f64 2))))
6.5b
(sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
6.5b
(sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))

rewrite368.0ms (3.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
108×times-frac_binary64
102×sqrt-prod_binary64
86×add-sqr-sqrt_binary64
84×*-un-lft-identity_binary64
84×add-cube-cbrt_binary64
Counts
4 → 201
Calls

4 calls:

30.0ms
(*.f64 (*.f64 (cos.f64 th) (/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cbrt.f64 (sqrt.f64 2))))
9.0ms
(/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cbrt.f64 (sqrt.f64 2)))
4.0ms
(sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
4.0ms
(sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
Compiler

Compiled 7992 to 3469 computations (56.6% saved)

series287.0ms (2.7%)

Error
0.0b
Counts
4 → 53
Calls

4 calls:

87.0ms
(*.f64 (*.f64 (cos.f64 th) (/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cbrt.f64 (sqrt.f64 2))))
75.0ms
(/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cbrt.f64 (sqrt.f64 2)))
37.0ms
(sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
37.0ms
(sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
Compiler

Compiled 3910 to 3017 computations (22.8% saved)

simplify223.0ms (2.1%)

Algorithm
egg-herbie
Rules
620×associate-/r*_binary64
351×associate-/r/_binary64
326×associate-*l*_binary64
277×associate-*r*_binary64
241×cancel-sign-sub-inv_binary64
Counts
254 → 190
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03029967
17478043
229697948
352817948

prune167.0ms (1.6%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1873190
Fresh437
Picked011
Done000
Total1917198
Error
0b
Counts
198 → 7
Alt Table
StatusErrorProgram
0.6b
(*.f64 (*.f64 (cos.f64 th) (/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (sqrt.f64 (sqrt.f64 2)))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 (sqrt.f64 2))))
0.6b
(*.f64 (cos.f64 th) (/.f64 1 (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))
0.6b
(*.f64 (*.f64 (cos.f64 th) (/.f64 (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cbrt.f64 (sqrt.f64 2))))
0.6b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 (sqrt.f64 2))) (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 (sqrt.f64 2))))
0.8b
(*.f64 (*.f64 (*.f64 (cos.f64 th) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))) (/.f64 (fabs.f64 (cbrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (*.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 2))) (cbrt.f64 (cbrt.f64 (sqrt.f64 2)))))) (/.f64 (sqrt.f64 (cbrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (cbrt.f64 (cbrt.f64 (sqrt.f64 2)))))
0.4b
(*.f64 (*.f64 (cos.f64 th) (/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cbrt.f64 (sqrt.f64 2))))
0.4b
(/.f64 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (cos.f64 th)) (sqrt.f64 2))
Compiler

Compiled 4364 to 2127 computations (51.3% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(cos.f64 th)
0.0b
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
0.1b
(*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (cos.f64 th))
0.4b
(/.f64 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (cos.f64 th)) (sqrt.f64 2))

rewrite106.0ms (1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
12×add-sqr-sqrt_binary64
11×add-cbrt-cube_binary64
11×add-exp-log_binary64
10×*-un-lft-identity_binary64
10×add-cube-cbrt_binary64
Counts
4 → 67
Calls

4 calls:

10.0ms
(/.f64 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (cos.f64 th)) (sqrt.f64 2))
7.0ms
(*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (cos.f64 th))
4.0ms
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
1.0ms
(cos.f64 th)
Compiler

Compiled 1404 to 435 computations (69% saved)

series197.0ms (1.8%)

Error
0b
Counts
4 → 51
Calls

4 calls:

86.0ms
(/.f64 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (cos.f64 th)) (sqrt.f64 2))
58.0ms
(*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (cos.f64 th))
26.0ms
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
8.0ms
(cos.f64 th)
Compiler

Compiled 1923 to 1510 computations (21.5% saved)

simplify145.0ms (1.3%)

Algorithm
egg-herbie
Rules
581×associate-/l*_binary64
355×times-frac_binary64
280×cancel-sign-sub-inv_binary64
259×distribute-rgt-in_binary64
242×distribute-lft-in_binary64
Counts
118 → 98
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01522348
14032063
214581982
345591982
447491982
550331982

prune80.0ms (0.7%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New98098
Fresh055
Picked011
Done011
Total987105
Error
0b
Counts
105 → 7
Alt Table
StatusErrorProgram
0.6b
(*.f64 (*.f64 (cos.f64 th) (/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (sqrt.f64 (sqrt.f64 2)))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 (sqrt.f64 2))))
0.6b
(*.f64 (cos.f64 th) (/.f64 1 (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))
0.6b
(*.f64 (*.f64 (cos.f64 th) (/.f64 (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cbrt.f64 (sqrt.f64 2))))
0.6b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 (sqrt.f64 2))) (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 (sqrt.f64 2))))
0.8b
(*.f64 (*.f64 (*.f64 (cos.f64 th) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))) (/.f64 (fabs.f64 (cbrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (*.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 2))) (cbrt.f64 (cbrt.f64 (sqrt.f64 2)))))) (/.f64 (sqrt.f64 (cbrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (cbrt.f64 (cbrt.f64 (sqrt.f64 2)))))
0.4b
(*.f64 (*.f64 (cos.f64 th) (/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cbrt.f64 (sqrt.f64 2))))
0.4b
(/.f64 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (cos.f64 th)) (sqrt.f64 2))
Compiler

Compiled 1460 to 678 computations (53.6% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
0.3b
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 (sqrt.f64 2)))
0.3b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 (sqrt.f64 2))) (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 (sqrt.f64 2))))
0.6b
(/.f64 (cos.f64 th) (sqrt.f64 (sqrt.f64 2)))

rewrite315.0ms (2.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
150×sqrt-prod_binary64
142×add-sqr-sqrt_binary64
132×times-frac_binary64
86×*-un-lft-identity_binary64
86×add-cube-cbrt_binary64
Counts
4 → 213
Calls

4 calls:

36.0ms
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 (sqrt.f64 2))) (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 (sqrt.f64 2))))
9.0ms
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 (sqrt.f64 2)))
6.0ms
(/.f64 (cos.f64 th) (sqrt.f64 (sqrt.f64 2)))
4.0ms
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
Compiler

Compiled 5156 to 2688 computations (47.9% saved)

series213.0ms (2%)

Error
0b
Counts
4 → 46
Calls

4 calls:

85.0ms
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 (sqrt.f64 2))) (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 (sqrt.f64 2))))
52.0ms
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 (sqrt.f64 2)))
29.0ms
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
20.0ms
(/.f64 (cos.f64 th) (sqrt.f64 (sqrt.f64 2)))
Compiler

Compiled 2081 to 1740 computations (16.4% saved)

simplify243.0ms (2.3%)

Algorithm
egg-herbie
Rules
449×associate-/l/_binary64
402×times-frac_binary64
351×distribute-rgt-in_binary64
335×distribute-lft-in_binary64
179×associate-*l/_binary64
Counts
259 → 151
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02547637
16817025
222056891
347556693
449626693

prune126.0ms (1.2%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New1510151
Fresh044
Picked011
Done022
Total1517158
Error
0b
Counts
158 → 7
Alt Table
StatusErrorProgram
0.6b
(*.f64 (*.f64 (cos.f64 th) (/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (sqrt.f64 (sqrt.f64 2)))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 (sqrt.f64 2))))
0.6b
(*.f64 (cos.f64 th) (/.f64 1 (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))
0.6b
(*.f64 (*.f64 (cos.f64 th) (/.f64 (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cbrt.f64 (sqrt.f64 2))))
0.6b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 (sqrt.f64 2))) (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 (sqrt.f64 2))))
0.8b
(*.f64 (*.f64 (*.f64 (cos.f64 th) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))) (/.f64 (fabs.f64 (cbrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (*.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 2))) (cbrt.f64 (cbrt.f64 (sqrt.f64 2)))))) (/.f64 (sqrt.f64 (cbrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (cbrt.f64 (cbrt.f64 (sqrt.f64 2)))))
0.4b
(*.f64 (*.f64 (cos.f64 th) (/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cbrt.f64 (sqrt.f64 2))))
0.4b
(/.f64 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (cos.f64 th)) (sqrt.f64 2))
Compiler

Compiled 2127 to 1077 computations (49.4% saved)

regimes4.0s (36.8%)

Accuracy

Total 0.3b remaining (90.7%)

Threshold costs 0.3b (90.7%)

Compiler

Compiled 67570 to 45676 computations (32.4% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01732
12232
22132

end11.0ms (0.1%)

Remove

(sort a1 a2)

Compiler

Compiled 69 to 54 computations (21.7% saved)

sample2.6s (24.5%)

Algorithm
intervals
Results
554.0ms1757×body1024valid
498.0ms1592×body1024invalid
361.0ms4879×body128valid
210.0ms914×body512valid
170.0ms755×body512invalid
67.0ms446×body256valid
60.0ms409×body256invalid
49.0ms626×body128invalid
2.0msbody2048valid
0.0msbody2048invalid
Compiler

Compiled 273 to 182 computations (33.3% saved)

Profiling

Loading profile data...