Details

Time bar (total: 9.0s)

analyze5.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%50%50%3
25%25%50%4
37.5%12.5%50%5
43.7%6.2%50%6
46.9%3.1%50%7
48.4%1.6%50%8
49.2%0.8%50%9
49.6%0.4%50%10
49.8%0.2%50%11
49.9%0.1%50%12
49.9%0%50.1%13
49.9%0%50.1%14
Compiler

Compiled 20 to 16 computations (20% saved)

sample20.0ms (0.2%)

Algorithm
intervals
Results
12.0ms256×body128valid
Compiler

Compiled 39 to 32 computations (17.9% saved)

simplify2.4s (26.8%)

Algorithm
egg-herbie
Rules
630×div-sub_binary64_1447
511×distribute-rgt-in_binary64_1392
494×associate-/l*_binary64_1387
417×distribute-lft-in_binary64_1391
348×sub-neg_binary64_1435
337×unsub-neg_binary64_1436
330×distribute-rgt-neg-out_binary64_1402
267×distribute-lft-neg-out_binary64_1401
244×distribute-neg-in_binary64_1403
233×cancel-sign-sub-inv_binary64_1408
227×associate-/r/_binary64_1388
215×associate-/r*_binary64_1386
205×associate-*l*_binary64_1383
184×distribute-rgt-neg-in_binary64_1400
182×associate-*r*_binary64_1382
170×neg-mul-1_binary64_1438
166×neg-sub0_binary64_1437
159×associate--l+_binary64_1379
150×associate--r-_binary64_1381
129×*-commutative_binary64_1373
125×distribute-neg-frac_binary64_1406
116×distribute-lft-neg-in_binary64_1399 associate-*l/_binary64_1385
102×associate-*r/_binary64_1384
101×associate-/l/_binary64_1389
93×distribute-rgt-out--_binary64_1396
82×associate--l-_binary64_1380
80×distribute-frac-neg_binary64_1405
79×+-commutative_binary64_1372
75×distribute-rgt-out_binary64_1395
73×cancel-sign-sub_binary64_1407
56×+-lft-identity_binary64_1426
54×mul0-lft_binary64_1424
53×mul0-rgt_binary64_1425
47×--rgt-identity_binary64_1428
45×associate-+l-_binary64_1377
41×associate--r+_binary64_1378
38×*-rgt-identity_binary64_1432 *-lft-identity_binary64_1431
37×sub0-neg_binary64_1429
35×div0_binary64_1423
33×associate-+l+_binary64_1375
28×distribute-lft-out--_binary64_1394
26×remove-double-neg_binary64_1430
25×associate-+r+_binary64_1374
20×associate-+r-_binary64_1376
18×+-rgt-identity_binary64_1427
17×distribute-neg-out_binary64_1404
14×/-rgt-identity_binary64_1433
mul-1-neg_binary64_1434
distribute-rgt1-in_binary64_1398
distribute-lft1-in_binary64_1397 distribute-lft-out_binary64_1393 count-2_binary64_1390
1-exp_binary64_1486 sqr-neg_binary64_1456 difference-of-sqr-1_binary64_1412 difference-of-squares_binary64_1411 unswap-sqr_binary64_1410 swap-sqr_binary64_1409
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1705 erf-erfc_binary64_1704 erf-odd_binary64_1703 if-if-and-not_binary64_1702 if-if-and_binary64_1701 if-if-or-not_binary64_1700 if-if-or_binary64_1699 if-not_binary64_1698 if-same_binary64_1697 if-false_binary64_1696 if-true_binary64_1695 not-gte_binary64_1694 not-lte_binary64_1693 not-gt_binary64_1692 not-lt_binary64_1691 gte-same_binary64_1690 lte-same_binary64_1689 gt-same_binary64_1688 lt-same_binary64_1687 sinh---cosh_binary64_1634 sinh-+-cosh_binary64_1633 sinh-cosh_binary64_1632 tanh-def-c_binary64_1631 tanh-def-b_binary64_1630 tanh-def-a_binary64_1629 cosh-def_binary64_1628 sinh-def_binary64_1627 tan-neg_binary64_1574 cos-neg_binary64_1573 sin-neg_binary64_1572 tan-0_binary64_1571 cos-0_binary64_1570 sin-0_binary64_1569 hang-m-tan_binary64_1568 hang-p-tan_binary64_1567 hang-m0-tan_binary64_1566 hang-p0-tan_binary64_1565 hang-0m-tan_binary64_1564 hang-0p-tan_binary64_1563 tan-+PI/2_binary64_1562 tan-+PI_binary64_1561 tan-PI_binary64_1560 tan-PI/3_binary64_1559 tan-PI/4_binary64_1558 tan-PI/6_binary64_1557 cos-+PI/2_binary64_1556 cos-+PI_binary64_1555 cos-PI_binary64_1554 cos-PI/2_binary64_1553 cos-PI/3_binary64_1552 cos-PI/4_binary64_1551 cos-PI/6_binary64_1550 sin-+PI/2_binary64_1549 sin-+PI_binary64_1548 sin-PI_binary64_1547 sin-PI/2_binary64_1546 sin-PI/3_binary64_1545 sin-PI/4_binary64_1544 sin-PI/6_binary64_1543 sub-1-sin_binary64_1542 sub-1-cos_binary64_1541 -1-add-sin_binary64_1540 -1-add-cos_binary64_1539 1-sub-sin_binary64_1538 1-sub-cos_binary64_1537 cos-sin-sum_binary64_1536 log-E_binary64_1532 log-pow_binary64_1531 log-rec_binary64_1530 log-div_binary64_1529 log-prod_binary64_1528 pow-base-0_binary64_1526 unpow1/3_binary64_1509 unpow3_binary64_1508 unpow2_binary64_1507 unpow1/2_binary64_1506 pow-plus_binary64_1505 exp-to-pow_binary64_1504 pow-base-1_binary64_1502 unpow0_binary64_1501 unpow1_binary64_1500 unpow-1_binary64_1499 exp-lft-cube_binary64_1498 exp-lft-sqr_binary64_1497 exp-cbrt_binary64_1496 exp-sqrt_binary64_1495 exp-prod_binary64_1494 div-exp_binary64_1493 rec-exp_binary64_1492 prod-exp_binary64_1491 exp-diff_binary64_1490 exp-neg_binary64_1489 exp-sum_binary64_1488 e-exp-1_binary64_1487 exp-1-e_binary64_1485 exp-0_binary64_1484 rem-log-exp_binary64_1483 rem-exp-log_binary64_1482 cube-unmult_binary64_1479 cube-mult_binary64_1472 cube-div_binary64_1471 cube-prod_binary64_1470 cube-neg_binary64_1469 rem-3cbrt-rft_binary64_1468 rem-3cbrt-lft_binary64_1467 rem-cbrt-cube_binary64_1466 rem-cube-cbrt_binary64_1465 sqr-abs_binary64_1457 rem-sqrt-square_binary64_1455 rem-square-sqrt_binary64_1454 times-frac_binary64_1448 *-inverses_binary64_1422 +-inverses_binary64_1421 lft-mult-inverse_binary64_1420 rgt-mult-inverse_binary64_1419 remove-double-div_binary64_1418 pow-sqr_binary64_1415 sqr-pow_binary64_1414 difference-of-sqr--1_binary64_1413
Counts
1 → 3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01529
13629
28329
319029
450029
585429
6128329
7291329
8297029

prune6.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New213
Fresh011
Picked000
Done000
Total224
Error
0.0b
Counts
4 → 2
Compiler

Compiled 95 to 71 computations (25.3% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(*.f64 (*.f64 (/.f64 (sqrt.f64 2) 4) (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))) (-.f64 1 (*.f64 v v)))
0.0b
(sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))
0.0b
(*.f64 (/.f64 (sqrt.f64 2) 4) (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v)))))
0.2b
(*.f64 3 (*.f64 v v))

rewrite282.0ms (3.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
41×add-sqr-sqrt_binary64_1464
26×associate-*l*_binary64_1383
23×add-exp-log_binary64_1480 add-cbrt-cube_binary64_1478 *-un-lft-identity_binary64_1442
22×add-cube-cbrt_binary64_1477 times-frac_binary64_1448
20×sqrt-prod_binary64_1458
18×sqrt-div_binary64_1459 frac-times_binary64_1452
17×pow1_binary64_1503
15×flip3--_binary64_1446 flip--_binary64_1417
12×associate-*r*_binary64_1382
10×prod-exp_binary64_1491 cbrt-unprod_binary64_1475 associate-*r/_binary64_1384
associate-*l/_binary64_1385
pow-prod-down_binary64_1513 unswap-sqr_binary64_1410
add-log-exp_binary64_1481
*-commutative_binary64_1373
div-exp_binary64_1493 cbrt-undiv_binary64_1476 sub-neg_binary64_1435 distribute-rgt-in_binary64_1392 cancel-sign-sub-inv_binary64_1408 distribute-lft-in_binary64_1391 difference-of-squares_binary64_1411
div-inv_binary64_1439 pow1/2_binary64_1522 sqrt-pow1_binary64_1460 rem-sqrt-square_binary64_1455
Counts
4 → 129
Calls

4 calls:

15.0ms
(*.f64 (*.f64 (/.f64 (sqrt.f64 2) 4) (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))) (-.f64 1 (*.f64 v v)))
13.0ms
(*.f64 (/.f64 (sqrt.f64 2) 4) (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v)))))
6.0ms
(*.f64 3 (*.f64 v v))
3.0ms
(sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))
Compiler

Compiled 4142 to 2935 computations (29.1% saved)

series201.0ms (2.2%)

Error
0.0b
Counts
4 → 21
Calls

4 calls:

61.0ms
(*.f64 (*.f64 (/.f64 (sqrt.f64 2) 4) (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))) (-.f64 1 (*.f64 v v)))
54.0ms
(*.f64 (/.f64 (sqrt.f64 2) 4) (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v)))))
30.0ms
(sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))
29.0ms
(*.f64 3 (*.f64 v v))
Compiler

Compiled 997 to 869 computations (12.8% saved)

simplify286.0ms (3.2%)

Algorithm
egg-herbie
Rules
619×distribute-rgt-in_binary64_1392
395×associate-*l*_binary64_1383
379×associate-*r*_binary64_1382
321×cancel-sign-sub-inv_binary64_1408
239×distribute-rgt-neg-in_binary64_1400
225×*-commutative_binary64_1373
197×distribute-lft-neg-in_binary64_1399
100×distribute-lft-in_binary64_1391
81×associate-*l/_binary64_1385
78×sub-neg_binary64_1435
74×distribute-lft-neg-out_binary64_1401
62×neg-sub0_binary64_1437
61×neg-mul-1_binary64_1438
59×unswap-sqr_binary64_1410
57×*-lft-identity_binary64_1431 sqr-pow_binary64_1414
50×times-frac_binary64_1448
49×+-commutative_binary64_1372
45×distribute-rgt-neg-out_binary64_1402
44×distribute-rgt-out_binary64_1395
43×log-prod_binary64_1528 associate-*r/_binary64_1384
40×*-rgt-identity_binary64_1432
36×exp-prod_binary64_1494 associate-/l*_binary64_1387
30×cube-prod_binary64_1470
26×swap-sqr_binary64_1409
24×distribute-neg-in_binary64_1403 distribute-lft-out_binary64_1393
22×distribute-lft-out--_binary64_1394
20×pow-sqr_binary64_1415
17×associate--r+_binary64_1378 associate-+l+_binary64_1375
16×unsub-neg_binary64_1436
12×associate-+r+_binary64_1374
11×distribute-rgt1-in_binary64_1398
log-div_binary64_1529 pow-plus_binary64_1505
unpow3_binary64_1508 cube-unmult_binary64_1479 cube-div_binary64_1471
cube-mult_binary64_1472 distribute-neg-frac_binary64_1406
distribute-rgt-out--_binary64_1396 associate-/r*_binary64_1386 associate--l+_binary64_1379
pow-base-1_binary64_1502 exp-sum_binary64_1488 distribute-lft1-in_binary64_1397 associate-+l-_binary64_1377 associate-+r-_binary64_1376
log-pow_binary64_1531 exp-lft-cube_binary64_1498 exp-diff_binary64_1490 rem-sqrt-square_binary64_1455 rem-square-sqrt_binary64_1454 div-sub_binary64_1447 mul-1-neg_binary64_1434 difference-of-squares_binary64_1411
unpow2_binary64_1507 unpow1_binary64_1500 1-exp_binary64_1486 exp-1-e_binary64_1485 /-rgt-identity_binary64_1433 +-rgt-identity_binary64_1427 *-inverses_binary64_1422 count-2_binary64_1390 associate-/r/_binary64_1388
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1705 erf-erfc_binary64_1704 erf-odd_binary64_1703 if-if-and-not_binary64_1702 if-if-and_binary64_1701 if-if-or-not_binary64_1700 if-if-or_binary64_1699 if-not_binary64_1698 if-same_binary64_1697 if-false_binary64_1696 if-true_binary64_1695 not-gte_binary64_1694 not-lte_binary64_1693 not-gt_binary64_1692 not-lt_binary64_1691 gte-same_binary64_1690 lte-same_binary64_1689 gt-same_binary64_1688 lt-same_binary64_1687 sinh---cosh_binary64_1634 sinh-+-cosh_binary64_1633 sinh-cosh_binary64_1632 tanh-def-c_binary64_1631 tanh-def-b_binary64_1630 tanh-def-a_binary64_1629 cosh-def_binary64_1628 sinh-def_binary64_1627 tan-neg_binary64_1574 cos-neg_binary64_1573 sin-neg_binary64_1572 tan-0_binary64_1571 cos-0_binary64_1570 sin-0_binary64_1569 hang-m-tan_binary64_1568 hang-p-tan_binary64_1567 hang-m0-tan_binary64_1566 hang-p0-tan_binary64_1565 hang-0m-tan_binary64_1564 hang-0p-tan_binary64_1563 tan-+PI/2_binary64_1562 tan-+PI_binary64_1561 tan-PI_binary64_1560 tan-PI/3_binary64_1559 tan-PI/4_binary64_1558 tan-PI/6_binary64_1557 cos-+PI/2_binary64_1556 cos-+PI_binary64_1555 cos-PI_binary64_1554 cos-PI/2_binary64_1553 cos-PI/3_binary64_1552 cos-PI/4_binary64_1551 cos-PI/6_binary64_1550 sin-+PI/2_binary64_1549 sin-+PI_binary64_1548 sin-PI_binary64_1547 sin-PI/2_binary64_1546 sin-PI/3_binary64_1545 sin-PI/4_binary64_1544 sin-PI/6_binary64_1543 sub-1-sin_binary64_1542 sub-1-cos_binary64_1541 -1-add-sin_binary64_1540 -1-add-cos_binary64_1539 1-sub-sin_binary64_1538 1-sub-cos_binary64_1537 cos-sin-sum_binary64_1536 log-E_binary64_1532 log-rec_binary64_1530 pow-base-0_binary64_1526 unpow1/3_binary64_1509 unpow1/2_binary64_1506 exp-to-pow_binary64_1504 unpow0_binary64_1501 unpow-1_binary64_1499 exp-lft-sqr_binary64_1497 exp-cbrt_binary64_1496 exp-sqrt_binary64_1495 div-exp_binary64_1493 rec-exp_binary64_1492 prod-exp_binary64_1491 exp-neg_binary64_1489 e-exp-1_binary64_1487 exp-0_binary64_1484 rem-log-exp_binary64_1483 rem-exp-log_binary64_1482 cube-neg_binary64_1469 rem-3cbrt-rft_binary64_1468 rem-3cbrt-lft_binary64_1467 rem-cbrt-cube_binary64_1466 rem-cube-cbrt_binary64_1465 sqr-abs_binary64_1457 sqr-neg_binary64_1456 remove-double-neg_binary64_1430 sub0-neg_binary64_1429 --rgt-identity_binary64_1428 +-lft-identity_binary64_1426 mul0-rgt_binary64_1425 mul0-lft_binary64_1424 div0_binary64_1423 +-inverses_binary64_1421 lft-mult-inverse_binary64_1420 rgt-mult-inverse_binary64_1419 remove-double-div_binary64_1418 difference-of-sqr--1_binary64_1413 difference-of-sqr-1_binary64_1412 cancel-sign-sub_binary64_1407 distribute-frac-neg_binary64_1405 distribute-neg-out_binary64_1404 associate-/l/_binary64_1389 associate--r-_binary64_1381 associate--l-_binary64_1380
Counts
150 → 276
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02654116
17323802
225333782

prune773.0ms (8.5%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New2742276
Fresh101
Picked101
Done000
Total2762278
Error
0b
Counts
278 → 2
Compiler

Compiled 9747 to 7064 computations (27.5% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(*.f64 (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v)))) (-.f64 1 (*.f64 v v)))
0.0b
(sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))
0.0b
(*.f64 (/.f64 (sqrt.f64 2) 4) (*.f64 (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v)))) (-.f64 1 (*.f64 v v))))
0.2b
(*.f64 3 (*.f64 v v))

rewrite520.0ms (5.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
31×associate-*l*_binary64_1383
29×add-sqr-sqrt_binary64_1464
23×add-exp-log_binary64_1480 add-cbrt-cube_binary64_1478 *-un-lft-identity_binary64_1442
22×add-cube-cbrt_binary64_1477
20×sqrt-div_binary64_1459 frac-times_binary64_1452
19×flip3--_binary64_1446 flip--_binary64_1417
18×times-frac_binary64_1448
17×pow1_binary64_1503
16×sqrt-prod_binary64_1458
14×associate-*r/_binary64_1384
10×prod-exp_binary64_1491 cbrt-unprod_binary64_1475 distribute-rgt-in_binary64_1392 distribute-lft-in_binary64_1391
pow-prod-down_binary64_1513 associate-*r*_binary64_1382 associate-*l/_binary64_1385
sub-neg_binary64_1435 cancel-sign-sub-inv_binary64_1408
add-log-exp_binary64_1481
unswap-sqr_binary64_1410 *-commutative_binary64_1373
div-exp_binary64_1493 cbrt-undiv_binary64_1476 difference-of-squares_binary64_1411
div-inv_binary64_1439 pow1/2_binary64_1522 sqrt-pow1_binary64_1460 rem-sqrt-square_binary64_1455
Counts
4 → 136
Calls

4 calls:

17.0ms
(*.f64 (/.f64 (sqrt.f64 2) 4) (*.f64 (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v)))) (-.f64 1 (*.f64 v v))))
11.0ms
(*.f64 (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v)))) (-.f64 1 (*.f64 v v)))
6.0ms
(*.f64 3 (*.f64 v v))
3.0ms
(sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))
Compiler

Compiled 4736 to 3368 computations (28.9% saved)

series190.0ms (2.1%)

Error
0b
Counts
4 → 21
Calls

4 calls:

65.0ms
(*.f64 (/.f64 (sqrt.f64 2) 4) (*.f64 (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v)))) (-.f64 1 (*.f64 v v))))
42.0ms
(*.f64 (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v)))) (-.f64 1 (*.f64 v v)))
31.0ms
(sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))
30.0ms
(*.f64 3 (*.f64 v v))
Compiler

Compiled 1014 to 918 computations (9.5% saved)

simplify434.0ms (4.8%)

Algorithm
egg-herbie
Rules
721×distribute-rgt-in_binary64_1392
420×associate-*r*_binary64_1382
346×associate-*l*_binary64_1383
310×cancel-sign-sub-inv_binary64_1408
224×*-commutative_binary64_1373
218×distribute-rgt-neg-in_binary64_1400
175×distribute-lft-neg-in_binary64_1399
102×distribute-lft-neg-out_binary64_1401
101×times-frac_binary64_1448
99×distribute-lft-in_binary64_1391
88×associate-*l/_binary64_1385
75×sub-neg_binary64_1435
73×distribute-rgt-neg-out_binary64_1402
63×neg-sub0_binary64_1437
60×*-lft-identity_binary64_1431
59×neg-mul-1_binary64_1438 unswap-sqr_binary64_1410
58×associate-/l*_binary64_1387
56×*-rgt-identity_binary64_1432
55×sqr-pow_binary64_1414
49×+-commutative_binary64_1372
45×log-prod_binary64_1528
40×associate-*r/_binary64_1384
39×exp-prod_binary64_1494
32×cube-prod_binary64_1470 distribute-rgt-out_binary64_1395
27×swap-sqr_binary64_1409
20×unsub-neg_binary64_1436 pow-sqr_binary64_1415
17×distribute-neg-in_binary64_1403 associate--r+_binary64_1378
15×associate-+l+_binary64_1375
13×distribute-lft-out--_binary64_1394
12×distribute-rgt1-in_binary64_1398 distribute-lft-out_binary64_1393 associate--l+_binary64_1379
11×associate-+r+_binary64_1374
10×log-div_binary64_1529
pow-plus_binary64_1505
unpow3_binary64_1508 cube-unmult_binary64_1479 associate-/r*_binary64_1386
cube-mult_binary64_1472 cube-div_binary64_1471
mul-1-neg_binary64_1434
exp-sum_binary64_1488 distribute-rgt-out--_binary64_1396
pow-base-1_binary64_1502 div-sub_binary64_1447 distribute-frac-neg_binary64_1405 distribute-lft1-in_binary64_1397 associate-+l-_binary64_1377
log-pow_binary64_1531 exp-lft-cube_binary64_1498 exp-diff_binary64_1490 rem-sqrt-square_binary64_1455 rem-square-sqrt_binary64_1454 difference-of-squares_binary64_1411 associate-+r-_binary64_1376
unpow2_binary64_1507 unpow1_binary64_1500 1-exp_binary64_1486 exp-1-e_binary64_1485 +-rgt-identity_binary64_1427 *-inverses_binary64_1422 count-2_binary64_1390 associate-/r/_binary64_1388
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1705 erf-erfc_binary64_1704 erf-odd_binary64_1703 if-if-and-not_binary64_1702 if-if-and_binary64_1701 if-if-or-not_binary64_1700 if-if-or_binary64_1699 if-not_binary64_1698 if-same_binary64_1697 if-false_binary64_1696 if-true_binary64_1695 not-gte_binary64_1694 not-lte_binary64_1693 not-gt_binary64_1692 not-lt_binary64_1691 gte-same_binary64_1690 lte-same_binary64_1689 gt-same_binary64_1688 lt-same_binary64_1687 sinh---cosh_binary64_1634 sinh-+-cosh_binary64_1633 sinh-cosh_binary64_1632 tanh-def-c_binary64_1631 tanh-def-b_binary64_1630 tanh-def-a_binary64_1629 cosh-def_binary64_1628 sinh-def_binary64_1627 tan-neg_binary64_1574 cos-neg_binary64_1573 sin-neg_binary64_1572 tan-0_binary64_1571 cos-0_binary64_1570 sin-0_binary64_1569 hang-m-tan_binary64_1568 hang-p-tan_binary64_1567 hang-m0-tan_binary64_1566 hang-p0-tan_binary64_1565 hang-0m-tan_binary64_1564 hang-0p-tan_binary64_1563 tan-+PI/2_binary64_1562 tan-+PI_binary64_1561 tan-PI_binary64_1560 tan-PI/3_binary64_1559 tan-PI/4_binary64_1558 tan-PI/6_binary64_1557 cos-+PI/2_binary64_1556 cos-+PI_binary64_1555 cos-PI_binary64_1554 cos-PI/2_binary64_1553 cos-PI/3_binary64_1552 cos-PI/4_binary64_1551 cos-PI/6_binary64_1550 sin-+PI/2_binary64_1549 sin-+PI_binary64_1548 sin-PI_binary64_1547 sin-PI/2_binary64_1546 sin-PI/3_binary64_1545 sin-PI/4_binary64_1544 sin-PI/6_binary64_1543 sub-1-sin_binary64_1542 sub-1-cos_binary64_1541 -1-add-sin_binary64_1540 -1-add-cos_binary64_1539 1-sub-sin_binary64_1538 1-sub-cos_binary64_1537 cos-sin-sum_binary64_1536 log-E_binary64_1532 log-rec_binary64_1530 pow-base-0_binary64_1526 unpow1/3_binary64_1509 unpow1/2_binary64_1506 exp-to-pow_binary64_1504 unpow0_binary64_1501 unpow-1_binary64_1499 exp-lft-sqr_binary64_1497 exp-cbrt_binary64_1496 exp-sqrt_binary64_1495 div-exp_binary64_1493 rec-exp_binary64_1492 prod-exp_binary64_1491 exp-neg_binary64_1489 e-exp-1_binary64_1487 exp-0_binary64_1484 rem-log-exp_binary64_1483 rem-exp-log_binary64_1482 cube-neg_binary64_1469 rem-3cbrt-rft_binary64_1468 rem-3cbrt-lft_binary64_1467 rem-cbrt-cube_binary64_1466 rem-cube-cbrt_binary64_1465 sqr-abs_binary64_1457 sqr-neg_binary64_1456 /-rgt-identity_binary64_1433 remove-double-neg_binary64_1430 sub0-neg_binary64_1429 --rgt-identity_binary64_1428 +-lft-identity_binary64_1426 mul0-rgt_binary64_1425 mul0-lft_binary64_1424 div0_binary64_1423 +-inverses_binary64_1421 lft-mult-inverse_binary64_1420 rgt-mult-inverse_binary64_1419 remove-double-div_binary64_1418 difference-of-sqr--1_binary64_1413 difference-of-sqr-1_binary64_1412 cancel-sign-sub_binary64_1407 distribute-neg-frac_binary64_1406 distribute-neg-out_binary64_1404 associate-/l/_binary64_1389 associate--r-_binary64_1381 associate--l-_binary64_1380
Counts
157 → 331
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02744499
17254183
225634173

prune1.0s (11.3%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New3310331
Fresh011
Picked011
Done000
Total3312333
Error
0b
Counts
333 → 2
Compiler

Compiled 11969 to 8812 computations (26.4% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(*.f64 (log.f64 (pow.f64 (exp.f64 (/.f64 (sqrt.f64 2) 4)) (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v)))))) (-.f64 1 (*.f64 v v)))
0.0b
(sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))
0.0b
(log.f64 (pow.f64 (exp.f64 (/.f64 (sqrt.f64 2) 4)) (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))))
0.2b
(*.f64 3 (*.f64 v v))

rewrite158.0ms (1.7%)

Algorithm
rewrite-expression-head
Error
0b
Rules
15×add-sqr-sqrt_binary64_1464
12×pow1_binary64_1503 add-exp-log_binary64_1480
11×add-cbrt-cube_binary64_1478 *-un-lft-identity_binary64_1442
10×add-cube-cbrt_binary64_1477
associate-*l*_binary64_1383 log-prod_binary64_1528
associate-*r*_binary64_1382
pow-prod-down_binary64_1513 prod-exp_binary64_1491 add-log-exp_binary64_1481 cbrt-unprod_binary64_1475
unpow-prod-down_binary64_1521 rem-log-exp_binary64_1483 sqrt-prod_binary64_1458
unswap-sqr_binary64_1410 *-commutative_binary64_1373 log-pow_binary64_1531 flip3--_binary64_1446 sqrt-div_binary64_1459 flip--_binary64_1417 sub-neg_binary64_1435 distribute-rgt-in_binary64_1392 cancel-sign-sub-inv_binary64_1408 distribute-lft-in_binary64_1391 associate-*r/_binary64_1384 difference-of-squares_binary64_1411
sqr-pow_binary64_1414 pow-to-exp_binary64_1511 pow-exp_binary64_1510 pow1/2_binary64_1522 sqrt-pow1_binary64_1460 rem-sqrt-square_binary64_1455
Counts
4 → 79
Calls

4 calls:

7.0ms
(*.f64 (log.f64 (pow.f64 (exp.f64 (/.f64 (sqrt.f64 2) 4)) (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v)))))) (-.f64 1 (*.f64 v v)))
6.0ms
(*.f64 3 (*.f64 v v))
5.0ms
(log.f64 (pow.f64 (exp.f64 (/.f64 (sqrt.f64 2) 4)) (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))))
3.0ms
(sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))
Compiler

Compiled 2511 to 1845 computations (26.5% saved)

series665.0ms (7.4%)

Error
0b
Counts
4 → 23
Calls

4 calls:

369.0ms
(*.f64 (log.f64 (pow.f64 (exp.f64 (/.f64 (sqrt.f64 2) 4)) (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v)))))) (-.f64 1 (*.f64 v v)))
198.0ms
(log.f64 (pow.f64 (exp.f64 (/.f64 (sqrt.f64 2) 4)) (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))))
29.0ms
(*.f64 3 (*.f64 v v))
28.0ms
(sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))
Compiler

Compiled 1484 to 1338 computations (9.8% saved)

simplify250.0ms (2.8%)

Algorithm
egg-herbie
Rules
428×cancel-sign-sub-inv_binary64_1408
421×*-commutative_binary64_1373
250×sub-neg_binary64_1435
228×distribute-rgt-in_binary64_1392
226×unswap-sqr_binary64_1410
204×distribute-rgt-neg-in_binary64_1400
190×distribute-lft-in_binary64_1391
183×associate-*r*_binary64_1382
180×distribute-lft-neg-in_binary64_1399
178×associate-*l*_binary64_1383
152×unsub-neg_binary64_1436
148×sqr-pow_binary64_1414
144×neg-sub0_binary64_1437
143×neg-mul-1_binary64_1438
87×log-prod_binary64_1528
75×pow-sqr_binary64_1415
73×exp-prod_binary64_1494
69×+-commutative_binary64_1372
68×distribute-rgt-out_binary64_1395
60×associate--r+_binary64_1378
56×associate-*l/_binary64_1385 associate-+l+_binary64_1375
55×associate-*r/_binary64_1384
50×cube-prod_binary64_1470
43×*-lft-identity_binary64_1431
42×distribute-lft-neg-out_binary64_1401
41×log-pow_binary64_1531
38×swap-sqr_binary64_1409
36×*-rgt-identity_binary64_1432 distribute-neg-in_binary64_1403
35×associate--l+_binary64_1379 associate-+r+_binary64_1374
34×associate-+l-_binary64_1377
32×distribute-lft-out_binary64_1393
30×exp-sum_binary64_1488
26×associate-+r-_binary64_1376
22×mul0-rgt_binary64_1425 mul0-lft_binary64_1424
20×sub0-neg_binary64_1429
19×+-rgt-identity_binary64_1427
15×unpow3_binary64_1508 pow-plus_binary64_1505 distribute-rgt-neg-out_binary64_1402
14×log-div_binary64_1529 cube-div_binary64_1471 difference-of-sqr-1_binary64_1412 distribute-rgt1-in_binary64_1398
13×cube-mult_binary64_1472
12×distribute-rgt-out--_binary64_1396
11×exp-to-pow_binary64_1504
10×count-2_binary64_1390
cube-unmult_binary64_1479 associate-/l*_binary64_1387
pow-base-1_binary64_1502 exp-diff_binary64_1490 associate--l-_binary64_1380
rem-sqrt-square_binary64_1455 associate-/l/_binary64_1389
rem-log-exp_binary64_1483 times-frac_binary64_1448 div-sub_binary64_1447
distribute-lft-out--_binary64_1394
exp-lft-cube_binary64_1498 mul-1-neg_binary64_1434 distribute-lft1-in_binary64_1397
rem-exp-log_binary64_1482 difference-of-squares_binary64_1411
log-E_binary64_1532 unpow2_binary64_1507 unpow1_binary64_1500 exp-sqrt_binary64_1495 prod-exp_binary64_1491 1-exp_binary64_1486 exp-1-e_binary64_1485 sqr-neg_binary64_1456 rem-square-sqrt_binary64_1454 /-rgt-identity_binary64_1433 *-inverses_binary64_1422 rgt-mult-inverse_binary64_1419 distribute-neg-frac_binary64_1406
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1705 erf-erfc_binary64_1704 erf-odd_binary64_1703 if-if-and-not_binary64_1702 if-if-and_binary64_1701 if-if-or-not_binary64_1700 if-if-or_binary64_1699 if-not_binary64_1698 if-same_binary64_1697 if-false_binary64_1696 if-true_binary64_1695 not-gte_binary64_1694 not-lte_binary64_1693 not-gt_binary64_1692 not-lt_binary64_1691 gte-same_binary64_1690 lte-same_binary64_1689 gt-same_binary64_1688 lt-same_binary64_1687 sinh---cosh_binary64_1634 sinh-+-cosh_binary64_1633 sinh-cosh_binary64_1632 tanh-def-c_binary64_1631 tanh-def-b_binary64_1630 tanh-def-a_binary64_1629 cosh-def_binary64_1628 sinh-def_binary64_1627 tan-neg_binary64_1574 cos-neg_binary64_1573 sin-neg_binary64_1572 tan-0_binary64_1571 cos-0_binary64_1570 sin-0_binary64_1569 hang-m-tan_binary64_1568 hang-p-tan_binary64_1567 hang-m0-tan_binary64_1566 hang-p0-tan_binary64_1565 hang-0m-tan_binary64_1564 hang-0p-tan_binary64_1563 tan-+PI/2_binary64_1562 tan-+PI_binary64_1561 tan-PI_binary64_1560 tan-PI/3_binary64_1559 tan-PI/4_binary64_1558 tan-PI/6_binary64_1557 cos-+PI/2_binary64_1556 cos-+PI_binary64_1555 cos-PI_binary64_1554 cos-PI/2_binary64_1553 cos-PI/3_binary64_1552 cos-PI/4_binary64_1551 cos-PI/6_binary64_1550 sin-+PI/2_binary64_1549 sin-+PI_binary64_1548 sin-PI_binary64_1547 sin-PI/2_binary64_1546 sin-PI/3_binary64_1545 sin-PI/4_binary64_1544 sin-PI/6_binary64_1543 sub-1-sin_binary64_1542 sub-1-cos_binary64_1541 -1-add-sin_binary64_1540 -1-add-cos_binary64_1539 1-sub-sin_binary64_1538 1-sub-cos_binary64_1537 cos-sin-sum_binary64_1536 log-rec_binary64_1530 pow-base-0_binary64_1526 unpow1/3_binary64_1509 unpow1/2_binary64_1506 unpow0_binary64_1501 unpow-1_binary64_1499 exp-lft-sqr_binary64_1497 exp-cbrt_binary64_1496 div-exp_binary64_1493 rec-exp_binary64_1492 exp-neg_binary64_1489 e-exp-1_binary64_1487 exp-0_binary64_1484 cube-neg_binary64_1469 rem-3cbrt-rft_binary64_1468 rem-3cbrt-lft_binary64_1467 rem-cbrt-cube_binary64_1466 rem-cube-cbrt_binary64_1465 sqr-abs_binary64_1457 remove-double-neg_binary64_1430 --rgt-identity_binary64_1428 +-lft-identity_binary64_1426 div0_binary64_1423 +-inverses_binary64_1421 lft-mult-inverse_binary64_1420 remove-double-div_binary64_1418 difference-of-sqr--1_binary64_1413 cancel-sign-sub_binary64_1407 distribute-frac-neg_binary64_1405 distribute-neg-out_binary64_1404 associate-/r/_binary64_1388 associate-/r*_binary64_1386 associate--r-_binary64_1381
Counts
102 → 191
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01962627
14412333
214422300
335172288

prune383.0ms (4.2%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New1910191
Fresh000
Picked011
Done011
Total1912193
Error
0b
Counts
193 → 2
Compiler

Compiled 6164 to 4531 computations (26.5% saved)

regimes152.0ms (1.7%)

Accuracy

Total 0.0b remaining (99.2%)

Threshold costs 0.0b (99.2%)

Compiler

Compiled 1930 to 1629 computations (15.6% saved)

bsearch0.0ms (0%)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_1373
sub-neg_binary64_1435 +-commutative_binary64_1372
neg-mul-1_binary64_1438 neg-sub0_binary64_1437
cancel-sign-sub-inv_binary64_1408 distribute-rgt-neg-in_binary64_1400
distribute-lft-neg-out_binary64_1401
1-exp_binary64_1486 distribute-lft-neg-in_binary64_1399
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same if-if-and-not_binary64_1702 if-if-and_binary64_1701 if-if-or-not_binary64_1700 if-if-or_binary64_1699 if-not_binary64_1698 if-same_binary64_1697 if-false_binary64_1696 if-true_binary64_1695 tan-0_binary64_1571 cos-0_binary64_1570 sin-0_binary64_1569 unpow1_binary64_1500 e-exp-1_binary64_1487 exp-1-e_binary64_1485 exp-0_binary64_1484 sqr-abs_binary64_1457 sqr-neg_binary64_1456 unsub-neg_binary64_1436 mul-1-neg_binary64_1434 /-rgt-identity_binary64_1433 *-rgt-identity_binary64_1432 *-lft-identity_binary64_1431 remove-double-neg_binary64_1430 sub0-neg_binary64_1429 --rgt-identity_binary64_1428 +-rgt-identity_binary64_1427 +-lft-identity_binary64_1426 cancel-sign-sub_binary64_1407 distribute-neg-frac_binary64_1406 distribute-frac-neg_binary64_1405 distribute-neg-out_binary64_1404 distribute-neg-in_binary64_1403 distribute-rgt-neg-out_binary64_1402
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01733
13233
24533
35333
45733
Proof
(exp f64 (log f64 (* f64 (* f64 (/ f64 (sqrt f64 2) 4) (sqrt f64 (- f64 1 (* f64 3 (* f64 h0 h0))))) (- f64 1 (* f64 h0 h0)))))

end0.0ms (0%)

sample1.2s (13.5%)

Algorithm
intervals
Results
400.0ms8000×body128valid
0.0msbody128nan
Compiler

Compiled 669 to 565 computations (15.5% saved)

Profiling

Loading profile data...